def setupZDCPEBChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter zdcSubDetListWriter = TrigSubDetListWriter("ZDCSubDetListWriter") zdcSubDetListWriter.SubdetId = ['TDAQ_CTP','FORWARD_ZDC'] zdcSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [zdcSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_zdc']] self.L2signatureList += [[['L2_zdc']]]
def setupLArPEBCalibCalibrationChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter larpebSubDetListWriter = TrigSubDetListWriter("LArPEBSubDetListWriter") larpebSubDetListWriter.SubdetId = ['TDAQ_CTP','LAr'] larpebSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [larpebSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_larpeb']] self.L2signatureList += [[['L2_larpeb']]]
def setupCosmicIDNoiseCalibration(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter if 'pixel' in self.chainPart['purpose']: if 'noise' in self.chainPart['addInfo']: l2_pixelSubDetListWriter = TrigSubDetListWriter("CosmicPixelNoiseSubDetListWriter") l2_pixelSubDetListWriter.Subdetectors = "Pixel" l2_pixelSubDetListWriter.extraROBs = [] theRobWriter = [l2_pixelSubDetListWriter] elif 'beam' in self.chainPart['addInfo']: l2_pixelSCTSubDetListWriter = TrigSubDetListWriter("CosmicPixelSCTNoiseSubDetListWriter") l2_pixelSCTSubDetListWriter.Subdetectors = "Pixel,SCT" l2_pixelSCTSubDetListWriter.extraROBs = [] theRobWriter = [l2_pixelSCTSubDetListWriter] elif ('sct' in self.chainPart['purpose']) \ & ('noise' in self.chainPart['addInfo']): l2_SCTSubDetListWriter = TrigSubDetListWriter("CosmicSCTNoiseSubDetListWriter") l2_SCTSubDetListWriter.Subdetectors = "SCT" l2_SCTSubDetListWriter.extraROBs = [] theRobWriter= [l2_SCTSubDetListWriter] self.L2sequenceList += [[ '', theRobWriter, 'L2_step1']] self.L2signatureList+=[ [['L2_step1']*self.mult] ] self.TErenamingDict = { 'L2_step1': mergeRemovingOverlap('L2_','Calib'+self.chainName), }
def setupALFAIDChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter alfaidSubDetListWriter = TrigSubDetListWriter("ALFAIDSubDetListWriter") alfaidSubDetListWriter.SubdetId = ['TDAQ_CTP','InnerDetector','FORWARD_ALPHA'] alfaidSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [alfaidSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_alfaid']] self.L2signatureList += [[['L2_alfaid']]]
def setupLHCfChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter lhcfSubDetListWriter = TrigSubDetListWriter("LHCfSubDetListWriter") lhcfSubDetListWriter.SubdetId = ['TDAQ_HLT','TDAQ_CTP','InnerDetector','DBM','FORWARD_ALPHA','FORWARD_LUCID','FORWARD_ZDC','FORWARD_BCM'] lhcfSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [lhcfSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_lhcf']] self.L2signatureList += [[['L2_lhcf']]]
def setupLumiPEBChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter vdmSubDetListWriter = TrigSubDetListWriter("VdMSubDetListWriter") vdmSubDetListWriter.SubdetId = ['TDAQ_HLT','TDAQ_CTP','SiOnly','DBM'] vdmSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [vdmSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_vdm']] self.L2signatureList += [[['L2_vdm']]]
def setupAFPALFACalibrationChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter l2_AFPALFASubDetListWriter = TrigSubDetListWriter("AFPALFASubDetListWriter") l2_AFPALFASubDetListWriter.SubdetId = ['TDAQ_CTP','FORWARD_AFP','FORWARD_ALPHA'] l2_AFPALFASubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [l2_AFPALFASubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_AFPALFAcalib']] self.L2signatureList += [[['L2_AFPALFAcalib']]]
def setupBeamspotChains(self): if ('peb' in self.eventBuildType): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter robListWriter = TrigSubDetListWriter('IDSubDetListWriter') robListWriter.SubdetId = [ "SiOnly","TDAQ_CTP" ] robListWriter.addL1Calo = False theAlg = robListWriter else: from TrigGenericAlgs.TrigGenericAlgsConf import PrescaleAlgo theAlg = PrescaleAlgo("terminateAlgo") if 'trkFS' in self.chainPart['addInfo'] : from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_L2StarB theFex = T2VertexBeamSpot_L2StarB() elif 'activeTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeTE_L2StarB theFex = T2VertexBeamSpot_activeTE_L2StarB() elif 'allTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_L2StarB theFex = T2VertexBeamSpot_activeAllTE_L2StarB() else: mlog.error('Cannot assemble chain %s - only configured for trkFS,allTE and activeTE' % (self.chainPartName)) #commenting out because of ATR-8976 (removal of package) #if ('L2StarB' in self.l2IDAlg): # from TrigSiTrack.TrigSiTrack_Config import TrigSiTrack_BeamSpot # TrigL2SiTrackFinder_Config = __import__('TrigL2SiTrackFinder.TrigL2SiTrackFinder_Config', fromlist=[""]) # trk_alg = getattr(TrigL2SiTrackFinder_Config, "TrigL2SiTrackFinder_BeamSpotB") # teaddition = 'L2StarB' #else: # mlog.error('Cannot assemble chain %s - only configured for L2StarB' % (self.chainPartName)) self.L2sequenceList +=[[ self.L2InputTE, [theFex], 'L2_fex']] self.L2sequenceList +=[[['L2_fex'], [theAlg], 'L2_']] #from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo #self.L2sequenceList += [ [[""], [PESA__DummyUnseededAllTEAlgo("L2DummyAlgo"), trk_alg()], 'L2_BeamSpottracks']] self.L2signatureList += [ [['L2_fex']] ] self.L2signatureList += [ [['L2_']] ] #self.L2signatureList += [ [['L2_BeamSpottracks']] ] self.TErenamingDict = { 'L2_fex' : mergeRemovingOverlap('L2_', self.chainName+'_fex'), 'L2_' : mergeRemovingOverlap('L2_', self.chainName), #'L2_BeamSpottracks': mergeRemovingOverlap('L2_', 'BeamSpottracks'+teaddition), }
def setupAFPCalibrationChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter l2_AFPSubDetListWriter = TrigSubDetListWriter("AFPSubDetListWriter") l2_AFPSubDetListWriter.SubdetId = ['TDAQ_CTP','FORWARD_AFP'] l2_AFPSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [l2_AFPSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_']] self.L2signatureList += [[['L2_']]] self.TErenamingDict = { 'L2_': 'L2_l1AFPcalib', }
def setupL1ALFACalibrationChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter l2_ALFASubDetListWriter = TrigSubDetListWriter("ALFASubDetListWriter") l2_ALFASubDetListWriter.SubdetId = ['TDAQ_CTP','FORWARD_ALPHA'] l2_ALFASubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [l2_ALFASubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_']] self.L2signatureList += [[['L2_']]] self.TErenamingDict = { 'L2_': 'L2_l1ALFAcalib', }
def setupCosmicIDNoiseCalibration(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter l2_SCTSubDetListWriter = TrigSubDetListWriter("CosmicSCTNoiseSubDetListWriter") l2_SCTSubDetListWriter.Subdetectors = "SCT" l2_SCTSubDetListWriter.extraROBs = [] theRobWriter= [l2_SCTSubDetListWriter] self.L2sequenceList += [[ '', theRobWriter, 'L2_step1']] self.L2signatureList+=[ [['L2_step1']*self.mult] ] self.TErenamingDict = { 'L2_step1': mergeRemovingOverlap('L2_','Calib'+self.chainName), }
def setupIDPSCalibrationChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter l2_IDPSSubDetListWriter = TrigSubDetListWriter("IDPSSubDetListWriter") l2_IDPSSubDetListWriter.SubdetId = ['TDAQ_CTP','TDAQ_HLT','InnerDetector'] l2_IDPSSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [l2_IDPSSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_']] self.L2signatureList += [[['L2_']]] self.TErenamingDict = { 'L2_': 'L2_l1IDPScalib', }
def setupRPCCalibrationChains(self): from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter l2_RPCSubDetListWriter = TrigSubDetListWriter("RPCSubDetListWriter") l2_RPCSubDetListWriter.SubdetId = ['TDAQ_MUON', 'TDAQ_CTP', 'TDAQ_HLT', 'RPC'] l2_RPCSubDetListWriter.MaxRoIsPerEvent=1 self.robWriter = [l2_RPCSubDetListWriter] self.L2sequenceList += [['', self.robWriter, 'L2_']] self.L2signatureList += [[['L2_']]] self.TErenamingDict = { 'L2_': 'L2_l1RPCcalib', }
def setupBeamspotChains(self): if 'peb'== self.eventBuildType: from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter robListWriter = TrigSubDetListWriter('IDSubDetListWriter') robListWriter.SubdetId = [ "SiOnly","TDAQ_CTP" ] robListWriter.addL1Calo = False theAlg = robListWriter elif 'pebTRT'== self.eventBuildType: from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter robListWriter = TrigSubDetListWriter('IDTRTSubDetListWriter') # robListWriter.SubdetId = [ "SiOnly","TDAQ_CTP","TRT" ] robListWriter.SubdetId = [ "InnerDetector","TDAQ_CTP" ] robListWriter.addL1Calo = False theAlg = robListWriter else: from TrigGenericAlgs.TrigGenericAlgsConf import PrescaleAlgo theAlg = PrescaleAlgo("terminateAlgo") if 'trkFS' in self.chainPart['addInfo'] : from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_FTF theFex = T2VertexBeamSpot_FTF() elif 'activeTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeTE_FTF theFex = T2VertexBeamSpot_activeTE_FTF() elif 'allTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_FTF theFex = T2VertexBeamSpot_activeAllTE_FTF() else: mlog.error('Cannot assemble chain %s - only configured for trkFS,allTE and activeTE' % (self.chainPartName)) from TrigInDetConf.TrigInDetSequence import TrigInDetSequence [trk_alg] = TrigInDetSequence("BeamSpot", "beamSpot", "IDTrig", sequenceFlavour=["FTF"]).getSequence() from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo self.L2sequenceList += [ [[""], [PESA__DummyUnseededAllTEAlgo("L2DummyAlgo")]+trk_alg, 'L2_BeamSpottracks']] self.L2sequenceList +=[[['L2_BeamSpottracks'], [theFex], 'L2_fex']] self.L2sequenceList +=[[['L2_fex'], [theAlg], 'L2_']] self.L2signatureList += [ [['L2_BeamSpottracks']] ] self.L2signatureList += [ [['L2_fex']] ] self.L2signatureList += [ [['L2_']] ] self.TErenamingDict = { 'L2_fex' : mergeRemovingOverlap('L2_', self.chainName+'_fex'), 'L2_' : mergeRemovingOverlap('L2_', self.chainName), 'L2_BeamSpottracks': mergeRemovingOverlap('L2_', self.chainName+'_BeamSpottracks'), }
def setupBeamspotChains(self): if 'peb' == self.eventBuildType: from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter robListWriter = TrigSubDetListWriter('IDSubDetListWriter') robListWriter.SubdetId = ["SiOnly", "TDAQ_CTP"] robListWriter.addL1Calo = False theAlg = robListWriter elif 'pebTRT' == self.eventBuildType: from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter robListWriter = TrigSubDetListWriter('IDTRTSubDetListWriter') # robListWriter.SubdetId = [ "SiOnly","TDAQ_CTP","TRT" ] robListWriter.SubdetId = ["InnerDetector", "TDAQ_CTP"] robListWriter.addL1Calo = False theAlg = robListWriter else: from TrigGenericAlgs.TrigGenericAlgsConf import PrescaleAlgo theAlg = PrescaleAlgo("terminateAlgo") if ('L2StarB' in self.l2IDAlg): if 'trkFS' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_L2StarB theFex = T2VertexBeamSpot_L2StarB() elif 'activeTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeTE_L2StarB theFex = T2VertexBeamSpot_activeTE_L2StarB() elif 'allTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_L2StarB theFex = T2VertexBeamSpot_activeAllTE_L2StarB() else: mlog.error( 'Cannot assemble chain %s - only configured for trkFS,allTE and activeTE' % (self.chainPartName)) #from TrigSiTrack.TrigSiTrack_Config import TrigSiTrack_BeamSpot TrigL2SiTrackFinder_Config = __import__( 'TrigL2SiTrackFinder.TrigL2SiTrackFinder_Config', fromlist=[""]) my_trk_alg = getattr(TrigL2SiTrackFinder_Config, "TrigL2SiTrackFinder_BeamSpotB") trk_alg = [my_trk_alg()] elif ('trkfast' in self.l2IDAlg): if 'trkFS' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_FTF theFex = T2VertexBeamSpot_FTF() elif 'activeTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeTE_FTF theFex = T2VertexBeamSpot_activeTE_FTF() elif 'allTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_FTF theFex = T2VertexBeamSpot_activeAllTE_FTF() else: mlog.error( 'Cannot assemble chain %s - only configured for trkFS,allTE and activeTE' % (self.chainPartName)) from TrigInDetConf.TrigInDetSequence import TrigInDetSequence [trk_alg] = TrigInDetSequence("BeamSpot", "beamSpot", "IDTrig", sequenceFlavour=["FTF" ]).getSequence() elif ('FTK' in self.l2IDAlg): if 'trkFS' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_FTK theFex = T2VertexBeamSpot_FTK() elif 'activeTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeTE_FTK theFex = T2VertexBeamSpot_activeTE_FTK() elif 'allTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_FTK theFex = T2VertexBeamSpot_activeAllTE_FTK() elif 'idperf' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_FTK theFex = T2VertexBeamSpot_activeAllTE_FTK() from TrigFTK_Monitoring.FtkHltEfficiencyConfig import FtkHltEfficiencyFex moni_alg = FtkHltEfficiencyFex() else: mlog.error( 'Cannot assemble chain %s - only configured for trkFS,allTE and activeTE' % (self.chainPartName)) if 'idperf' in self.chainPart['addInfo']: from TrigInDetConf.TrigInDetSequence import TrigInDetSequence [trk_alg ] = TrigInDetSequence("BeamSpot", "beamSpot", "IDTrig", sequenceFlavour=["FTF"]).getSequence() from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence [ftk_alg] = TrigInDetFTKSequence("BeamSpot", "beamSpot", ["mon"]).getSequence() elif 'mon' in self.chainPart['addInfo']: from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence [trk_alg] = TrigInDetFTKSequence("BeamSpot", "beamSpot", ["mon"]).getSequence() else: from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence [trk_alg] = TrigInDetFTKSequence("BeamSpot", "beamSpot", [""]).getSequence() elif ('FTKRefit' in self.l2IDAlg): if 'trkFS' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_FTKRefit theFex = T2VertexBeamSpot_FTKRefit() elif 'activeTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeTE_FTKRefit theFex = T2VertexBeamSpot_activeTE_FTKRefit() elif 'allTE' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_FTKRefit theFex = T2VertexBeamSpot_activeAllTE_FTKRefit() elif 'idperf' in self.chainPart['addInfo']: from TrigT2BeamSpot.T2VertexBeamSpotConfig import T2VertexBeamSpot_activeAllTE_FTKRefit theFex = T2VertexBeamSpot_activeAllTE_FTKRefit() from TrigFTK_Monitoring.FtkHltEfficiencyConfig import FtkHltEfficiencyFex moni_alg = FtkHltEfficiencyFex() else: mlog.error( 'Cannot assemble chain %s - only configured for trkFS,allTE and activeTE' % (self.chainPartName)) if 'idperf' in self.chainPart['addInfo']: from TrigInDetConf.TrigInDetSequence import TrigInDetSequence [trk_alg ] = TrigInDetSequence("BeamSpot", "beamSpot", "IDTrig", sequenceFlavour=["FTF"]).getSequence() from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence [ftk_alg] = TrigInDetFTKSequence("BeamSpot", "beamSpot", ["refit"]).getSequence() else: from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence [trk_alg] = TrigInDetFTKSequence("BeamSpot", "beamSpot", ["refit"]).getSequence() else: mlog.error( 'Cannot assemble chain %s - only configured for L2StarB' % (self.chainPartName)) from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo # self.L2sequenceList += [ [[""], [trk_alg], 'L2_BeamSpottracks']] # self.L2sequenceList +=[[ self.L2InputTE, [theFex], 'L2_fex']] # self.L2sequenceList +=[[['L2_fex'], [theAlg], 'L2_']] # if (('FTK' in self.l2IDAlg or 'FTKRefit' in self.l2IDAlg) and 'idperf' in self.chainPart['addInfo']): self.L2sequenceList += [[[ "" ], [PESA__DummyUnseededAllTEAlgo("L2DummyAlgo")] + trk_alg, 'L2_BeamSpotFTFtracks']] self.L2sequenceList += [[['L2_BeamSpotFTFtracks'], [moni_alg], 'L2_moni']] self.L2sequenceList += [[['L2_moni'], ftk_alg, 'L2_BeamSpottracks']] else: self.L2sequenceList += [[[ "" ], [PESA__DummyUnseededAllTEAlgo("L2DummyAlgo")] + trk_alg, 'L2_BeamSpottracks']] if ('idperf' in self.chainPart['addInfo']): self.L2sequenceList += [[['L2_BeamSpottracks'], [theAlg], 'L2_']] else: self.L2sequenceList += [[['L2_BeamSpottracks'], [theFex], 'L2_fex']] self.L2sequenceList += [[['L2_fex'], [theAlg], 'L2_']] if (('FTK' in self.l2IDAlg or 'FTKRefit' in self.l2IDAlg) and 'idperf' in self.chainPart['addInfo']): self.L2signatureList += [[['L2_BeamSpotFTFtracks']]] self.L2signatureList += [[['L2_moni']]] self.L2signatureList += [[['L2_BeamSpottracks']]] if ('idperf' in self.chainPart['addInfo']): self.L2signatureList += [[['L2_']]] else: self.L2signatureList += [[['L2_fex']]] self.L2signatureList += [[['L2_']]] self.TErenamingDict = { 'L2_fex': mergeRemovingOverlap('L2_', self.chainName + '_fex'), #'L2_' : mergeRemovingOverlap('L2_', self.chainName+self.chainPart['addInfo'][0]), 'L2_': mergeRemovingOverlap('L2_', self.chainName), 'L2_BeamSpottracks': mergeRemovingOverlap('L2_', self.chainName + '_BeamSpottracks'), }
def setup_mb_sptrk(self): doHeavyIon = False if 'ion' in self.chainPart['extra']: doHeavyIon = True doSpNcb = False if 'ncb' in self.chainPart['extra']: doSpNcb = True doBLayer = False if 'blayer' in self.chainPart['extra']: doBLayer = True doVetoSp = False if 'vetosp' in self.chainPart['extra']: doVetoSp = True doSptrk = False if "sptrk" in self.chainPart['recoAlg']: #do EFID doSptrk = True doMbtsVeto = False if "vetombts2in" in self.chainPart[ 'extra'] or "vetospmbts2in" in self.chainPart[ 'extra']: #do EFID doMbtsVeto = True theL2MbtsFex = L2MbMbtsFex theL2MbtsHypo = MbMbtsHypo("L2MbMbtsHypo_1_1_inn_veto") if "vetombts1side2in" in self.chainPart['extra']: #do EFID doMbtsVeto = True theL2MbtsFex = L2MbMbtsFex theL2MbtsHypo = MbMbtsHypo("L2MbMbtsHypo_1_1_inn_one_side_veto") ########## L2 algos ################## #if "sptrk" or "sp" in self.chainPart['recoAlg']: if "noisesup" in self.chainPart['extra']: chainSuffix = "sptrk_noisesup" theL2Fex = L2MbSpFex_SCTNoiseSup elif doSpNcb: # spacepoint halo trigger is SCT only theL2Fex = L2MbSpFex_ncb chainSuffix = "sp_ncb" elif doBLayer: # pix occupancy trigger only counts the innermost pix layer theL2Fex = L2MbSpFex_BLayer chainSuffix = "sp_blayer" else: theL2Fex = L2MbSpFex if doSptrk: chainSuffix = "sptrk" elif doVetoSp: chainSuffix = "sp_vetosp" else: chainSuffix = "sp" if doMbtsVeto: if "vetombts2in" in self.chainPart['extra']: chainSuffix = chainSuffix + "_vetombts2in" if "vetombts1side2in" in self.chainPart['extra']: chainSuffix = chainSuffix + "_vetombts1side2in" if doMbtsVeto and doVetoSp: # this will never be done w tracks chainSuffix = "sp_vetospmbts2in" if doSpNcb: theL2Hypo = L2MbSpHypo_ncb elif doBLayer: theL2Hypo = L2MbSpHypo_blayer elif doVetoSp: theL2Hypo = L2MbSpHypo_veto else: theL2Hypo = L2MbSpHypo ########## EF algos ################## #if "sptrk" in self.chainPart['recoAlg']: if "costr" in self.chainPart['trkInfo']: chainSuffix = chainSuffix + "_costr" from InDetTrigRecExample.EFInDetConfig import TrigEFIDInsideOut_CosmicsN efid_costr = TrigEFIDInsideOut_CosmicsN() theEFFex1 = efid_costr.getSequence() from TrigMinBias.TrigMinBiasConfig import MbTrkFex_1, MbTrkHypo_1 theEFFex2 = MbTrkFex_1("MbTrkFex_" + chainSuffix) theEFFex2.InputTrackContainerName = "InDetTrigTrackSlimmerIOTRT_CosmicsN_EFID" theEFHypo = MbTrkHypo_1("MbTrkHypo_" + chainSuffix) theEFHypo.AcceptAll_EF = False theEFHypo.Required_ntrks = 1 theEFHypo.Max_z0 = 1000.0 else: if not doHeavyIon: theEFFex1 = efid else: theEFFex1 = efid_heavyIon theEFFex2 = EFMbTrkFex efhypo = self.chainPart['hypoEFInfo'] if efhypo: if "pt" in self.chainPart['hypoEFInfo']: efth = efhypo.lstrip('pt') threshold = float(efth) theEFHypo = MbTrkHypo('EFMbTrkHypo_pt%d' % threshold) theEFHypo.Min_pt = threshold theEFHypo.Max_z0 = 401. chainSuffix = chainSuffix + '_pt' + efth elif "trk" in self.chainPart['hypoEFInfo']: efth = efhypo.lstrip('trk') theEFHypo = MbTrkHypo('EFMbTrkHypo_trk%i' % int(efth)) theEFHypo.Required_ntrks = int(efth) theEFHypo.Min_pt = 0.200 theEFHypo.Max_z0 = 401. chainSuffix = chainSuffix + '_trk' + efth elif 'exclusiveloose' in self.chainPart['extra']: efth = 0.200 #default theEFHypo = EFMbTrkHypoExclusiveLoose chainSuffix = chainSuffix + "_exclusiveloose" elif 'exclusivetight' in self.chainPart['extra']: efth = 0.200 #default theEFHypo = EFMbTrkHypoExclusiveTight chainSuffix = chainSuffix + "_exclusivetight" else: efth = 0.200 #default theEFHypo = EFMbTrkHypo #print "igb: ", efhypo #print "igb: ", theEFHypo.Min_pt ########### Sequence List ############## self.L2sequenceList += [["", [dummyRoI], 'L2_mb_dummy']] if doMbtsVeto: self.L2sequenceList += [[ 'L2_mb_dummy', [theL2MbtsFex, theL2MbtsHypo], 'L2_mb_mbtsveto' ]] self.L2sequenceList += [[ 'L2_mb_mbtsveto', efiddataprep, 'L2_mb_iddataprep' ]] else: self.L2sequenceList += [[ 'L2_mb_dummy', efiddataprep, 'L2_mb_iddataprep' ]] self.L2sequenceList += [[['L2_mb_iddataprep'], [theL2Fex, theL2Hypo], 'L2_mb_step1']] if doSptrk: self.EFsequenceList += [[['L2_mb_step1'], theEFFex1 + [theEFFex2, theEFHypo], 'EF_mb_step1']] if 'peb' in self.chainPart['addInfo']: from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter ALFASubDetListWriter = TrigSubDetListWriter( "ALFASubDetListWriter") ALFASubDetListWriter.SubdetId = [ 'TDAQ_HLT', 'TDAQ_CTP', 'InnerDetector', 'DBM', 'FORWARD_ALPHA', 'FORWARD_LUCID', 'FORWARD_ZDC', 'FORWARD_BCM' ] ALFASubDetListWriter.MaxRoIsPerEvent = 1 self.EFsequenceList += [[['EF_mb_step1'], [ALFASubDetListWriter], 'EF_mb_step2']] ########### Signatures ########### self.L2signatureList += [[['L2_mb_dummy']]] if doMbtsVeto: self.L2signatureList += [[['L2_mb_mbtsveto']]] self.L2signatureList += [[['L2_mb_iddataprep']]] self.L2signatureList += [[['L2_mb_step1']]] if doSptrk: self.EFsignatureList += [[['EF_mb_step1']]] if 'peb' in self.chainPart['addInfo']: self.EFsignatureList += [[['EF_mb_step2']]] self.TErenamingDict = { 'L2_mb_dummy': mergeRemovingOverlap('L2_dummy_', chainSuffix), 'L2_mb_mbtsveto': mergeRemovingOverlap('L2_mbtsveto_', chainSuffix), 'L2_mb_iddataprep': mergeRemovingOverlap('L2_iddataprep_', chainSuffix), 'L2_mb_step1': mergeRemovingOverlap('L2_', chainSuffix), 'EF_mb_step1': mergeRemovingOverlap('EF_', chainSuffix), } if 'peb' in self.chainPart['addInfo']: self.TErenamingDict['EF_mb_step2'] = mergeRemovingOverlap( 'EF_', chainSuffix + '_peb')