diff --git a/CaloFilters/fcl/prolog_trigger.fcl b/CaloFilters/fcl/prolog_trigger.fcl index ba302218ce..b384f17633 100644 --- a/CaloFilters/fcl/prolog_trigger.fcl +++ b/CaloFilters/fcl/prolog_trigger.fcl @@ -94,6 +94,21 @@ CaloFilters : { MinLikelihoodCut : [ 41.44, 10.36] triggerPath : "CaloLHCE" } + + #fixme! this is just a place holder for the photon filter + caloPhotonFilter : { + module_type : CaloLikelihood + CaloClusterModuleLabel : CaloClusterFast + SignalTemplates : "CaloFilters/data/v7_1_5/caloLH_ce.root" + BackgroundTemplates : "CaloFilters/data/v7_1_5/caloLH_bkg.root" + DropSecondDisk : false + MinClusterEnergy : 50. # MeV + ClusterEnergyStep : 10. # MeV + MinClusterRadialDist : 350. # mm + ClusterRadialDistStep : 50. # mm + MinLikelihoodCut : [ 41.44, 10.36] + triggerPath : "CaloPhoton" + } } @@ -201,6 +216,20 @@ CaloFilters : { @table::CaloFilters triggerPath : "CaloLHCE" } + caloPhotonCDCountFilter : { + module_type : DigiFilter + strawDigiCollection : notUSed + caloDigiCollection : CaloDigiFromShower + useStrawDigi : false + useCaloDigi : true + minNStrawDigi : -1 + maxNStrawDigi : -1 + minNCaloDigi : 2 + maxNCaloDigi : 10000 + maxCaloEnergy : -1 + triggerPath : "CaloPhoton" + } + caloMVACEEventPrescale : { module_type : PrescaleEvent nPrescale : 1 @@ -265,6 +294,21 @@ CaloFilters : { @table::CaloFilters triggerFlag : ["PrescaleGoodEvents"] } + caloPhotonEventPrescale : { + module_type : PrescaleEvent + nPrescale : 1 + triggerFlag : ["PrescaleRandom"] + triggerPath : "CaloPhoton" + } + + caloPhotonPrescale : { + module_type : PrescaleEvent + nPrescale : 1 + useFilteredEvents : true + triggerPath : "CaloPhoton" + triggerFlag : ["PrescaleGoodEvents"] + } + #FIXME! this filter will no longer be needed once we will have a standardized definition of good events caloTriggerPreselect : { @table::CaloFilters.caloTriggerPreselect } @@ -281,6 +325,9 @@ CaloFilters : { @table::CaloFilters #select events based on a likelihood discriminator caloLHCEFilter : { @table::CaloFilters.caloLHCEFilter } + + #fixme@ this is just a place holder + caloPhotonFilter : { @table::CaloFilters.caloPhotonFilter } } @@ -295,6 +342,9 @@ CaloFilters : { @table::CaloFilters caloLHCE : [ caloLHCEEventPrescale, caloLHCECDCountFilter, CaloClusterFast, caloLHCEFilter, caloLHCEPrescale] + #FIX ME! THIS IS JUST A PLACE HOLDER + caloPhoton : [ caloPhotonEventPrescale, caloPhotonCDCountFilter, CaloClusterFast, caloPhotonFilter, caloPhotonPrescale] + } } diff --git a/Mu2eUtilities/inc/TriggerResultsNavigator.hh b/Mu2eUtilities/inc/TriggerResultsNavigator.hh index cf26c09220..af578bf6c3 100644 --- a/Mu2eUtilities/inc/TriggerResultsNavigator.hh +++ b/Mu2eUtilities/inc/TriggerResultsNavigator.hh @@ -31,7 +31,8 @@ namespace mu2e { size_t find(std::map const& posmap, std::string const& name) const; // Has ith path accepted the event? - bool accept(std::string const& name) const; + bool accepted(std::string const& name) const; + art::hlt::HLTState state(std::string const& name) const; void print() const; private: diff --git a/Mu2eUtilities/src/TriggerResultsNavigator.cc b/Mu2eUtilities/src/TriggerResultsNavigator.cc index b8eb9956f3..ee5a1a74bc 100644 --- a/Mu2eUtilities/src/TriggerResultsNavigator.cc +++ b/Mu2eUtilities/src/TriggerResultsNavigator.cc @@ -1,7 +1,8 @@ #include "fhiclcpp/ParameterSet.h" #include "fhiclcpp/ParameterSetRegistry.h" #include "Mu2eUtilities/inc/TriggerResultsNavigator.hh" -#include +#include +#include namespace mu2e { @@ -37,24 +38,33 @@ namespace mu2e { // Has ith path accepted the event? bool - TriggerResultsNavigator::accept(std::string const& name) const + TriggerResultsNavigator::accepted(std::string const& name) const { size_t index = findTrigPath(name); return _trigResults->accept(index); } + + art::hlt::HLTState + TriggerResultsNavigator::state(std::string const& name) const{ + size_t index = findTrigPath(name); + return _trigResults->state(index); + } + void TriggerResultsNavigator::print() const { - printf("TriggerResultsNaviogator Map\n"); - printf("//------------------------------------------//\n"); - printf("// trig_pathName id accepted //\n"); - printf("//------------------------------------------//\n"); + std::cout << "TriggerResultsNaviogator Map" << std::endl; + std::cout << "//------------------------------------------//" << std::endl; + std::cout << "// trig_pathName id accepted //" << std::endl; + std::cout << "//------------------------------------------//" << std::endl; for (unsigned int i=0; i< _trigPathsNames.size(); ++i){ std::string name = _trigPathsNames[i]; size_t index = findTrigPath(name); - bool accepted = accept(name); - printf("// %24s %2li %i //\n", name.c_str(), index, accepted == true ? 1:0); + bool good = accepted(name); + std::cout << std::right; + std::cout <<"//"< 1: temp = "/".join (tempArr[:-1]) if temp != "Trigger/data" : - print "ERROR config file must be in directory Trigger/data" + print("ERROR config file must be in directory Trigger/data") exit(1) tempArr = tempArr[-1].split(".") if len(tempArr) > 1: if tempArr[1] != "config" or len(tempArr)>2 : - print "ERROR config file must of type .config" + print("ERROR config file must of type .config") exit(1) configFileBaseName = tempArr[0]; configFileName = "Trigger/data/" + configFileBaseName + ".config" @@ -167,7 +169,7 @@ def generate(configFileText="allTrig", online=False, verbose=True, doWrite=True) mainFclFileName = projectDir+"/main.fcl" targetFiles.append(mainFclFileName) if verbose : - print "Creating " + mainFclFileName + print("Creating {}".format(mainFclFileName)) if online : templateFileName = "Trigger/fcl/main_online.fcl" @@ -180,7 +182,7 @@ def generate(configFileText="allTrig", online=False, verbose=True, doWrite=True) # now open main fcl file for appending paths if doWrite : - mainFclFile = open(mainFclFileName,"a") + mainFclFile = open(mainFclFileName,"a",encoding="utf-8") path_list = "" trig_list = "" @@ -188,7 +190,7 @@ def generate(configFileText="allTrig", online=False, verbose=True, doWrite=True) mainEpilogFileName = projectDir + "/" + "allPaths.fcl" targetFiles.append(mainEpilogFileName) if verbose : - print "Creating "+mainEpilogFileName + print("Creating {}".format(mainEpilogFileName)) if doWrite : mainEpilogFile = open(mainEpilogFileName, "w"); @@ -216,7 +218,7 @@ def generate(configFileText="allTrig", online=False, verbose=True, doWrite=True) if pathName in open(trig_prolog_files[i]).read(): pathCheck = True if pathCheck == False: - print (pathName+" NOT FOUND IN ANY PROLOG_TRIGGER.FCL FILES. PLEASE, CHECK THE INPUT FILE PROVIDED \n") + print ("{} NOT FOUND IN ANY PROLOG_TRIGGER.FCL FILES. PLEASE, CHECK THE INPUT FILE PROVIDED".format(pathName)) exit(1) if path_list != "": @@ -273,10 +275,10 @@ def generate(configFileText="allTrig", online=False, verbose=True, doWrite=True) mainFclFile.close() if verbose : - print - print "main fcl: " + mainFclFileName - print "Top level epilog file: " + mainEpilogFileName - print + print("") + print("main fcl: {}".format(mainFclFileName)) + print("Top level epilog file: ".format(mainEpilogFileName)) + print("") # now cd back to where we started os.chdir(cwd) @@ -302,8 +304,8 @@ def generate(configFileText="allTrig", online=False, verbose=True, doWrite=True) args = parser.parse_args() if args.verbose : - print "Config file name: " + args.configFileText - print "Online flag: " + str(args.online) + print("Config file name: {}".format(args.configFileText)) + print("Online flag: {}".format(str(args.online))) generate(args.configFileText, args.online, args.verbose, True) diff --git a/Trigger/src/ReadTriggerInfo_module.cc b/Trigger/src/ReadTriggerInfo_module.cc index 96ae394fb9..8320738285 100644 --- a/Trigger/src/ReadTriggerInfo_module.cc +++ b/Trigger/src/ReadTriggerInfo_module.cc @@ -84,8 +84,8 @@ namespace mu2e { public: enum { - kNTrigInfo = 20, - kNTrackTrig = 10, + kNTrigInfo = 40, + kNTrackTrig = 20, kNTrackTrigVar = 30, kNHelixTrig = 10, kNHelixTrigVar = 30, @@ -93,7 +93,7 @@ namespace mu2e { kNCaloCalibVar = 5, kNCaloOnly = 5, kNCaloOnlyVar = 5, - kNOcc = 20, + kNOcc = 40, kNOccVar = 10 }; @@ -707,7 +707,7 @@ namespace mu2e { for (unsigned int i=0; i< _trigPaths.size(); ++i){ string&path = _trigPaths.at(i); - if (trigNavig.accept(path)) _sumHist._hTrigInfo[15]->Fill((double)i); + if (trigNavig.accepted(path)) _sumHist._hTrigInfo[15]->Fill((double)i); } //get the strawDigiMC truth if present diff --git a/TrkFilters/fcl/prolog_trigger.fcl b/TrkFilters/fcl/prolog_trigger.fcl index 83af840eb1..ac01986392 100644 --- a/TrkFilters/fcl/prolog_trigger.fcl +++ b/TrkFilters/fcl/prolog_trigger.fcl @@ -37,6 +37,30 @@ TrkFilters : { triggerPath : "cprSeedDeP" } + #cosmic tracks + tprCosmicSeedDeMTCFilter : { + module_type : TimeClusterFilter + timeClusterCollection : "TTtimeClusterFinder" + triggerPath : "tprCosmicSeedDeM" + } + tprCosmicSeedDePTCFilter : { + module_type : TimeClusterFilter + timeClusterCollection : "TTtimeClusterFinder" + triggerPath : "tprCosmicSeedDeP" + } + cprCosmicSeedDeMTCFilter : { + module_type : TimeClusterFilter + timeClusterCollection : "TTCalTimePeakFinder" + minNHits : 1 #just check if there are TimeClusters + triggerPath : "cprCosmicSeedDeM" + } + cprCosmicSeedDePTCFilter : { + module_type : TimeClusterFilter + timeClusterCollection : "TTCalTimePeakFinder" + minNHits : 1 #just check if there are TimeClusters + triggerPath : "cprCosmicSeedDeP" + } + #low p particles from the ST tprLowPSeedDeMTCFilter : { module_type : TimeClusterFilter @@ -177,6 +201,81 @@ TrkFilters : { prescalerPar : { amplitude: 0 frequency : 0 phase : 0} } + # cosmic tracks e-/e+ not from the ST + tprCosmicSeedDeMHSFilter : { + module_type : HelixFilter + helixSeedCollection : "TTHelixMergerDeM" + helicity : 1 + minNStrawHits : 15 + minMomentum : 50. + maxMomentum : 70. + minPt : 0 + maxChi2XY : 8. + maxChi2PhiZ : 8. + maxD0 : 300. + minD0 : -150. + minAbsLambda : 140. + maxAbsLambda : 300. + triggerPath : "tprCosmicSeedDeM" + prescaleUsingD0Phi : false + prescalerPar : { amplitude: 0 frequency : 0 phase : 0} + } + tprCosmicSeedDePHSFilter : { + module_type : HelixFilter + helixSeedCollection : "TTHelixMergerDeP" + helicity : -1 + minNStrawHits : 15 + minMomentum : 40. + maxMomentum : 60. + minPt : 0 + maxChi2XY : 8. + maxChi2PhiZ : 8. + maxD0 : 300. + minD0 : -150. + minAbsLambda : 100. + maxAbsLambda : 330. + triggerPath : "tprCosmicSeedDeP" + prescaleUsingD0Phi : false + prescalerPar : { amplitude: 0 frequency : 0 phase : 0} + } + + cprCosmicSeedDeMHSFilter : { + module_type : HelixFilter + helixSeedCollection : "TTCalHelixMergerDeM" + helicity : 1 + minNStrawHits : 15 + minMomentum : 60. + maxMomentum : 80. + minPt : 0 + maxChi2XY : 5. + maxChi2PhiZ : 5. + maxD0 : 350. + minD0 : -350. + minAbsLambda : 140. + maxAbsLambda : 330. + triggerPath : "cprCosmicSeedDeM" + prescaleUsingD0Phi : false + prescalerPar : { amplitude: 0 frequency : 0 phase : 0} + } + cprCosmicSeedDePHSFilter : { + module_type : HelixFilter + helixSeedCollection : "TTCalHelixMergerDeP" + helicity : -1 + minNStrawHits : 15 + minMomentum : 50. + maxMomentum : 60. + minPt : 0 + maxChi2XY : 5. + maxChi2PhiZ : 5. + maxD0 : 300. + minD0 : -150. + minAbsLambda : 100. + maxAbsLambda : 330. + triggerPath : "cprCosmicSeedDeP" + prescaleUsingD0Phi : false + prescalerPar : { amplitude: 0 frequency : 0 phase : 0} + } + # low P e-/e+ from the ST tprLowPSeedDeMHSFilter : { module_type : HelixFilter @@ -398,6 +497,37 @@ TrkFilters : { triggerPath : "cprSeedDeM" } + #cosmic tracks e-/e+ + tprCosmicSeedDeMTSFilter : { + module_type : SeedFilter + kalSeedCollection : "TTKSFDeM" + fitparticle : @local::Particle.eminus + fitdirection : @local::FitDir.downstream + minNStrawHits : 15 + minMomentum : 60. + maxMomentum : 80. #don't apply cut + maxChi2DOF : 20. #don't apply cut + maxMomErr : 10. #don't apply cut + minD0 : -200. + maxD0 : 200. + triggerPath : "tprCosmicSeedDeM" + } + + cprCosmicSeedDeMTSFilter : { + module_type : SeedFilter + kalSeedCollection : "TTCalSeedFitDem" + fitparticle : @local::Particle.eminus + fitdirection : @local::FitDir.downstream + minNStrawHits : 15 + minMomentum : 60. + maxMomentum : 80. #don't apply cut + maxChi2DOF : 20. #don't apply cut + maxMomErr : 10. #don't apply cut + minD0 : -200. + maxD0 : 200. + triggerPath : "cprCosmicSeedDeM" + } + #low P e-/e+ from the ST tprLowPSeedDeMTSFilter : { module_type : SeedFilter @@ -496,6 +626,38 @@ TrkFilters : { triggerPath : "cprSeedDeP" } + + #cosmic tracks e-/e+ from the ST + tprCosmicSeedDePTSFilter : { + module_type : SeedFilter + kalSeedCollection : "TTKSFDeP" + fitparticle : @local::Particle.eplus + fitdirection : @local::FitDir.downstream + minNStrawHits : 15 + minMomentum : 50. + maxMomentum : 70. #don't apply cut + maxChi2DOF : 20. #don't apply cut + maxMomErr : 10. #don't apply cut + minD0 : -200. + maxD0 : 200. + triggerPath : "tprCosmicSeedDeP" + } + + cprCosmicSeedDePTSFilter : { + module_type : SeedFilter + kalSeedCollection : "TTCalSeedFitDep" + fitparticle : @local::Particle.eplus + fitdirection : @local::FitDir.downstream + minNStrawHits : 15 + minMomentum : 50. + maxMomentum : 70. #don't apply cut + maxChi2DOF : 20. #don't apply cut + maxMomErr : 10. #don't apply cut + minD0 : -200. + maxD0 : 200. + triggerPath : "cprCosmicSeedDeP" + } + #low P e-/e+ from the ST tprLowPSeedDePTSFilter : { module_type : SeedFilter @@ -708,7 +870,65 @@ TrkFilters : { triggerPath : "cprSeedDeP" } + #SD counter filter for comisc track triggers + + tprCosmicSeedDeMSDCountFilter : { + module_type : DigiFilter + strawDigiCollection : makeSD + caloDigiCollection : notUsed + useStrawDigi : true + useCaloDigi : false + minNStrawDigi : 10 + maxNStrawDigi : 10000 + minNCaloDigi : -1 + maxNCaloDigi : -1 + maxCaloEnergy : -1 + triggerPath : "tprCosmicSeedDeM" + } + tprCosmicSeedDePSDCountFilter : { + module_type : DigiFilter + strawDigiCollection : makeSD + caloDigiCollection : notUsed + useStrawDigi : true + useCaloDigi : false + minNStrawDigi : 10 + maxNStrawDigi : 10000 + minNCaloDigi : -1 + maxNCaloDigi : -1 + maxCaloEnergy : -1 + triggerPath : "tprCosmicSeedDeP" + } + + cprCosmicSeedDeMSDCountFilter : { + module_type : DigiFilter + strawDigiCollection : makeSD + caloDigiCollection : notUsed + useStrawDigi : true + useCaloDigi : false + minNStrawDigi : 10 + maxNStrawDigi : 10000 + minNCaloDigi : -1 + maxNCaloDigi : -1 + maxCaloEnergy : -1 + triggerPath : "cprCosmicSeedDeM" + } + cprCosmicSeedDePSDCountFilter : { + module_type : DigiFilter + strawDigiCollection : makeSD + caloDigiCollection : notUsed + useStrawDigi : true + useCaloDigi : false + minNStrawDigi : 10 + maxNStrawDigi : 10000 + minNCaloDigi : -1 + maxNCaloDigi : -1 + maxCaloEnergy : -1 + triggerPath : "cprCosmicSeedDeP" + } + + + #SD counter filter for lowP trigger lines tprLowPSeedDeMSDCountFilter : { module_type : DigiFilter strawDigiCollection : makeSD @@ -933,6 +1153,36 @@ TrkFilters : { triggerFlag : ["PrescaleGoodEvents"] } + + tprCosmicSeedDeMEventPrescale: { + module_type : PrescaleEvent + nPrescale : 1 + triggerPath : "tprCosmicSeedDeM" + triggerFlag : ["PrescaleRandom"] + } + + tprCosmicSeedDeMPrescale : { + module_type : PrescaleEvent + nPrescale : 1 + useFilteredEvents : true + triggerPath : "tprCosmicSeedDeM" + triggerFlag : ["PrescaleGoodEvents"] + } + + tprCosmicSeedDePEventPrescale: { + module_type : PrescaleEvent + nPrescale : 1 + triggerPath : "tprCosmicSeedDeP" + triggerFlag : ["PrescaleRandom"] + } + tprCosmicSeedDePPrescale : { + module_type : PrescaleEvent + nPrescale : 1 + useFilteredEvents : true + triggerPath : "tprCosmicSeedDeP" + triggerFlag : ["PrescaleGoodEvents"] + } + tprLowPSeedDeMEventPrescale: { module_type : PrescaleEvent nPrescale : 1 @@ -985,6 +1235,7 @@ TrkFilters : { triggerPath : "cprSeedDeP" triggerFlag : ["PrescaleRandom"] } + cprSeedDePPrescale : { module_type : PrescaleEvent nPrescale : 1 @@ -993,13 +1244,21 @@ TrkFilters : { triggerFlag : ["PrescaleGoodEvents"] } - cprLowPSeedDeMEventPrescale: { + cprLowPSeedDePPrescale : { module_type : PrescaleEvent nPrescale : 1 - triggerPath : "cprLowPSeedDeM" + useFilteredEvents : true + triggerPath : "cprLowPSeedDeP" + triggerFlag : ["PrescaleGoodEvents"] + } + + cprLowPSeedDePEventPrescale: { + module_type : PrescaleEvent + nPrescale : 1 + triggerPath : "cprLowPSeedDeP" triggerFlag : ["PrescaleRandom"] } - + cprLowPSeedDeMPrescale : { module_type : PrescaleEvent nPrescale : 1 @@ -1008,20 +1267,43 @@ TrkFilters : { triggerFlag : ["PrescaleGoodEvents"] } - cprLowPSeedDePEventPrescale: { + cprLowPSeedDeMEventPrescale: { module_type : PrescaleEvent nPrescale : 1 - triggerPath : "cprLowPSeedDeP" + triggerPath : "cprLowPSeedDeM" triggerFlag : ["PrescaleRandom"] } - cprLowPSeedDePPrescale : { + + cprCosmicSeedDeMPrescale : { module_type : PrescaleEvent nPrescale : 1 useFilteredEvents : true - triggerPath : "cprLowPSeedDeP" + triggerPath : "cprCosmicSeedDeM" triggerFlag : ["PrescaleGoodEvents"] } + cprCosmicSeedDeMEventPrescale: { + module_type : PrescaleEvent + nPrescale : 1 + triggerPath : "cprCosmicSeedDeM" + triggerFlag : ["PrescaleRandom"] + } + + cprCosmicSeedDePPrescale : { + module_type : PrescaleEvent + nPrescale : 1 + useFilteredEvents : true + triggerPath : "cprCosmicSeedDeP" + triggerFlag : ["PrescaleGoodEvents"] + } + + cprCosmicSeedDePEventPrescale: { + module_type : PrescaleEvent + nPrescale : 1 + triggerPath : "cprCosmicSeedDeP" + triggerFlag : ["PrescaleRandom"] + } + #prescaler for the sequences that use the combohit collection filtered with the calorimeter cluster tprSeedUCCDeMEventPrescale: { module_type : PrescaleEvent @@ -1113,6 +1395,13 @@ TrkFilters : { @sequence::TrkHitRecoTrigger.sequences.TTprepareHits, TTtimeClusterFinder, tprLowPSeedDePTCFilter, TThelixFinder,TTHelixMergerDeP, tprLowPSeedDePHSFilter, TTKSFDeP, tprLowPSeedDePTSFilter, tprLowPSeedDePPrescale ] + tprCosmicSeedDeM : [ tprCosmicSeedDeMEventPrescale, tprCosmicSeedDeMSDCountFilter, @sequence::CaloClusterTrigger.Reco, + @sequence::TrkHitRecoTrigger.sequences.TTprepareHits, + TTtimeClusterFinder, tprCosmicSeedDeMTCFilter, TThelixFinder, TTHelixMergerDeM, tprCosmicSeedDeMHSFilter, TTKSFDeM, tprCosmicSeedDeMTSFilter, tprCosmicSeedDeMPrescale ] + tprCosmicSeedDeP : [ tprCosmicSeedDePEventPrescale, tprCosmicSeedDePSDCountFilter, @sequence::CaloClusterTrigger.Reco, + @sequence::TrkHitRecoTrigger.sequences.TTprepareHits, + TTtimeClusterFinder, tprCosmicSeedDePTCFilter, TThelixFinder,TTHelixMergerDeP, tprCosmicSeedDePHSFilter, TTKSFDeP, tprCosmicSeedDePTSFilter, tprCosmicSeedDePPrescale ] + # sequences that use a collection of combohits filtered using the calorimeter cluster info tprSeedUCCDeM : [ tprSeedUCCDeMEventPrescale, tprSeedUCCDeMSDCountFilter, @sequence::CaloClusterTrigger.Reco, @sequence::TrkHitRecoTrigger.sequences.TTprepareHitsUCC, @@ -1150,6 +1439,15 @@ TrkFilters : { TTCalTimePeakFinder, cprLowPSeedDePTCFilter, TTCalHelixFinderDe, TTCalHelixMergerDeP, cprLowPSeedDePHSFilter, TTCalSeedFitDep, cprLowPSeedDePTSFilter, cprLowPSeedDePPrescale ] + cprCosmicSeedDeM : [ cprCosmicSeedDeMEventPrescale, cprCosmicSeedDeMSDCountFilter, @sequence::CaloClusterTrigger.Reco, + @sequence::TrkHitRecoTrigger.sequences.TTprepareHits, + TTCalTimePeakFinder, cprCosmicSeedDeMTCFilter, TTCalHelixFinderDe, TTCalHelixMergerDeM, cprCosmicSeedDeMHSFilter, + TTCalSeedFitDem, cprCosmicSeedDeMTSFilter, cprCosmicSeedDeMPrescale ] + cprCosmicSeedDeP : [ cprCosmicSeedDePEventPrescale, cprCosmicSeedDePSDCountFilter, @sequence::CaloClusterTrigger.Reco, + @sequence::TrkHitRecoTrigger.sequences.TTprepareHits, + TTCalTimePeakFinder, cprCosmicSeedDePTCFilter, TTCalHelixFinderDe, TTCalHelixMergerDeP, cprCosmicSeedDePHSFilter, + TTCalSeedFitDep, cprCosmicSeedDePTSFilter, cprCosmicSeedDePPrescale ] + cprSeedUCCDeM : [ cprSeedUCCDeMEventPrescale, cprSeedUCCDeMSDCountFilter, @sequence::CaloClusterTrigger.Reco, @sequence::TrkHitRecoTrigger.sequences.TTprepareHitsUCC, TTCalTimePeakFinderUCC, cprSeedUCCDeMTCFilter, TTCalHelixFinderUCCDe, TTCalHelixUCCMergerDeM, cprSeedUCCDeMHSFilter,