level3-filter-cascade¶
Introduction¶
The aim of the Cascade L3 processing is to reduce the size of the dataset (at least by factor of 30) while maintaining the atmospheric and extraterrestrial signals efficiency as high as possible, in order to have a fast processing and no storage problems.
The idea is to use Toplological Splitter module first and identify coincident events: number of output splits maps corresponds to number of sub-events found. Detailed description of the Topological Splitter method for identifying coincident events can be found here.
After identifying event “multiplicity” we run VetoModule from CascadeVariables project and separate events
The general flowchart of L3 cuts for IC86 2011 - present is shown below:
Detailed Cascade L3 flow chars is shown below:
Reconstruction¶
Keys that are created at Cascade Level3 are listed in the table below
Name |
Description |
Function used |
---|---|---|
CscdL2_Topo_HLCSplitCount |
number of sub-events found by Topological Splitter module |
icecube.level3_filter_cascade. level3_TopoSplitter.TopologicalCounter |
Veto_SRTOfflinePulses |
Containment info for Single Events |
icecube.level3_filter_cascade. level3_RunVeto.runVeto_Singles |
Veto_CscdL2_Topo_HLC0 Veto_CscdL2_Topo_HLC1 |
Containment info for Double Events |
icecube.level3_filter_cascade. level3_RunVeto.runVeto_Coinc |
CscdL3_Cont_Tag |
Indicates which branch from the flowchart this event belong to |
icecube.level3_filter_cascade. level3_Cuts.tagBranches |
NCh_OfflinePulsesHLC NCh_OfflinePulsesHLC_noDC NCh_OfflinePulsesHLC_DCOnly NCh_OfflinePulses NCh_OfflinePulses_noDC NCh_OfflinePulses_DCOnly NCh_SRTOfflinePulses NCh_SRTOfflinePulses_noDC NCh_SRTOfflinePulses_DCOnly Nstinrg_OfflinePulsesHLC Nstring_OfflinePulsesHLC_noDC Nstring_OfflinePulsesHLC_DCOnly Nstring_OfflinePulses Nstring_OfflinePulses_noDC Nstring_OfflinePulses_DCOnly Nstring_SRTOfflinePulses Nstring_SRTOfflinePulses_noDC Nstring_SRTOfflinePulses_DCOnly |
NChannel and NString calculated using different pulses with deep core exclusion or only deep core. NString_OfflinePulsesHLC_noDC is used for single contain branch cutting. NCh_OfflinePulses is used for single uncontained branch cutting |
icecube.level3_filter_cascade. level3_MultiCalculator.multiCalculator |
NCh_CscdL2_Topo_HLC0 NCh_CscdL2_Topo_HLC0_noDC NCh_CscdL2_Topo_HLC0_DCOnly NCh_CscdL2_Topo_HLC1 NCh_CscdL2_Topo_HLC1_noDC NCh_CscdL2_Topo_HLC1_DCOnly NString_CscdL2_Topo_HLC0 NString_CscdL2_Topo_HLC0_noDC NString_CscdL2_Topo_HLC0_DCOnly NString_CscdL2_Topo_HLC1 NString_CscdL2_Topo_HLC1_noDC NString_CscdL2_Topo_HLC1_DCOnly |
NChannel and NString calculated using the splitted pulses for double events with deep core exclusion or only deep core |
icecube.level3_filter_cascade. level3_MultiCalculator.multiCalculator |
CascadeLlhVertexFit_ICParams |
General Cascade llh w/o DC,used for single contain branch cutting |
icecube.level3_filter_cascade. level3_Recos.CascadeLlhVertexFit |
CascadeLlhVertexFit_IC _Coincidence0Params CascadeLlhVertexFit_IC _Coincidence1Params |
Two CscdLlhVertexFits w/o DC for doubles contained branch cutting |
icecube.level3_filter_cascade. level3_Recos.CascadeLlhVertexFit |
CscdL3_SPEFit16 |
Track Fit |
icecube.level3_filter_cascade. level3_HighLevelFits.HighLevelFits |
CscdL3_CascadeLlhVertexFit |
Cascade LLH reconstruction |
icecube.level3_filter_cascade. level3_HighLevelFits.HighLevelFits |
SPEFit16Seed |
Bayesian Track LLH reconstruction |
icecube.level3_filter_cascade. level3_HighLevelFits.HighLevelFits |
CscdL3_Credo_SpiceMie |
Credo 1 iteration reconstruction |
icecube.level3_filter_cascade. level3_HighLevelFits.CredoReco |
L3_MonopodFit4 |
Monopod 4 iteration reconstruction |
icecube.level3_filter_cascade. L3_monopod.L3_Monopod |
TimeSplit_SPEFit_0 TimeSplit_SPEFit_1 TimeSplit_CascadeLlhVertexFit_0 TimeSplit_CascadeLlhVertexFit_1 TimeSplit_DipoleFit_0 TimeSplit_DipoleFit_1 |
Split an event into halves on the charge-weighted mean time, run SPEFit, CascadeLlFit and DipoleFit on each half |
icecube.level3_filter_cascade. level3_Recos.TimeSplitFits |
CoreRemoval_SPEFit_0 CoreRemoval_SPEFit_1 CoreRemoval _CascadeLlhVertexFit_0 CoreRemoval _CascadeLlhVertexFit_1 CoreRemoval_DipoleFit_0 CoreRemoval_DipoleFit_1 _CascadeLlhVertexFit_0 |
Remove the cascade-like core of pulses around a reconstructed vertex from the event, and run SPEFit, CascadeLlFit and DipoleFit on the core and corona separately |
icecube.level3_filter_cascade. level3_Recos.CoreRemovalFits |
Argument Setting¶
level3-filter-cascade/python/level3_Master.py is the excitable script used for running Cascade Level3 processing. Below is a list of arguments you can and should set when running this script.
Name |
Default |
Description |
---|---|---|
-i/–input |
None |
the full name and location of the input file |
-g/–gcd |
None |
the full name and location of the GCD file |
-o/–output |
None |
the full name and location of the output file |
-m/–MC |
False |
Use False when processing data, otherwise use True |
–amplitudetablepath |
/cvmfs/icecube.opensciencegrid.org/ data/photon-tables/splines/ ems_mie_z20_a10.abs.fits |
AmplitudeTable used by Credo and Monopod |
–timingtablepath |
/cvmfs/icecube.opensciencegrid.org/ data/photon-tables/splines/ ems_mie_z20_a10.prob.fits |
TimingTable used by Credo and Monopod |
-n/–num |
-1 |
Don’t need to set unless you only want to process certain number of frames |
-y/–year |
2015 |
Detector year of the data or mc you are processing |