ATLAS Offline Software
TrigInDetValidation_AODtoTrkNtuple.py
Go to the documentation of this file.
1 #Skeleton joboption for a simple analysis job
2 
3 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
4 
5 if athenaCommonFlags.FilesInput() != []:
6  FilesInput = athenaCommonFlags.FilesInput()
7 else:
8  FilesInput = ["AOD.pool.root"]
9 
10 
11 theApp.EvtMax=-1 #says how many events to run over. Set to -1 for all events
12 
13 from AthenaConfiguration.AllConfigFlags import ConfigFlags
14 ConfigFlags.Input.Files = FilesInput
15 ConfigFlags.lock()
16 
17 import AthenaPoolCnvSvc.ReadAthenaPool #sets up reading of POOL files (e.g. xAODs)
18 # svcMgr.EventSelector.InputCollections=[os.environ['ASG_TEST_FILE_DATA']] #replace with input file
19 svcMgr.EventSelector.InputCollections=FilesInput
20 
21 algseq = CfgMgr.AthSequencer("AthAlgSeq") #gets the main AthSequencer
22 
23 #only specifying here so that has the standard 'TrigDecisionTool' name
24 
25 from AthenaConfiguration.ComponentAccumulator import CAtoGlobalWrapper
26 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
27 CAtoGlobalWrapper(TrigDecisionToolCfg, ConfigFlags)
28 
29 from AthenaCommon.AppMgr import topSequence
30 
31 from TrigConfxAOD.TrigConfxAODConf import TrigConf__xAODConfigTool
32 
33 cfgtool = TrigConf__xAODConfigTool('xAODConfigTool')
34 ToolSvc += cfgtool
35 
36 
37 jps.AthenaCommonFlags.FilesInput = FilesInput
38 
39 
40 doTier0Mon = False
41 
42 if 'doTIDATier0' in locals():
43  doTier0Mon = doTIDATier0
44 
45 
46 if 'doNewTIDATier0' in locals():
47  doTier0Mon = doNewTIDATier0
48 
49 
50 
51 
52 from AthenaCommon.AppMgr import ToolSvc
53 
54 if doTier0Mon :
55 
56  # this is the new location ...
57  from TrigInDetMonitoring.TIDAMonitoring import TIDAMonitoring
58  for git in TIDAMonitoring( None, "idtrigger" ):
59  algseq += git
60 
61  from GaudiSvc.GaudiSvcConf import THistSvc
62  ServiceMgr += THistSvc()
63  ServiceMgr.THistSvc.Output = ["EXPERT DATAFILE='data-hists-tier0.root' OPT='RECREATE'"]
64 
65 
66 
67 
68 
69 if ( True ) :
70  from TrigInDetAnalysisExample.TrigInDetAnalysisExampleConf import TrigR3Mon
71  TestMonTool = TrigR3Mon( name="TrigR3Mon")
72  TestMonTool.buildNtuple = True
73  TestMonTool.AnalysisConfig = "nTuple" #Change to Tier0 for T0 Analysis
74  TestMonTool.EnableLumi = False
75 # TestMonTool.RequireDecision = False
76  TestMonTool.mcTruth = True
77  TestMonTool.pTCutOffline = 1000
78  TestMonTool.ntupleChainNames = []
79 
80  if ( 'LRT' in dir() ) :
81  if LRT == True :
82  TestMonTool.FiducialRadius = 500.
83 
84  TestMonTool.ntupleChainNames += [
85  ":InDetLargeD0TrackParticles",
86  "Muons::LRT",
87  "Muons",
88  "Electrons::LRT"
89  ]
90  if 'ptmin' in dir():
91  TestMonTool.pTCutOffline = ptmin
92 
93 
94  if 'pdgid' in dir():
95  TestMonTool.SelectTruthPdgId=pdgid
96 
97  if 'parentpdgid' in dir():
98  TestMonTool.SelectParentTruthPdgId=parentpdgid
99 
100 
101  TestMonTool.KeepAllEvents = False
102  # TestMonTool.TrigConfigTool = "TrigConf::xAODConfigTool"
103  TestMonTool.ntupleChainNames += [
104  "Offline",
105  "Truth",
106  "Vertex",
107  "Vertex:BTagging_AntiKt4EMPFlowSecVtx",
108  # "Muons",
109  # "Muons:Tight",
110  # "Muons:Medium",
111 
112  # "HLT_j.*bperf_split:key=InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF:roi=SuperRoi:vtx=xPrimVx",
113  # "HLT_j.*bperf_split:key=InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF:roi=SuperRoi",
114  # "HLT_j.*bperf_split:key=InDetTrigTrackingxAODCnv_Bjet_IDTrig",
115  # "HLT_j.*bperf_split:key=InDetTrigTrackingxAODCnv_Bjet_FTF",
116 
117  # "HLT_j.*b.*perf_split:key=InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF:roi=SuperRoi:vtx=xPrimVx",
118  # "HLT_j.*b.*perf_split:key=InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF:roi=SuperRoi:vtx=EFHistoPrmVtx",
119  # "HLT_j.*b.*perf_split:key=InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF:roi=SuperRoi:vtx=xPrimVx",
120  # "HLT_j.*b.*perf_split:key=InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF:roi=SuperRoi:vtx=EFHistoPrmVtx",
121  # "HLT_j.*b.*perf_split:key=InDetTrigTrackingxAODCnv_BjetPrmVtx_FTF:roi=SuperRoi",
122  # "HLT_j.*b.*perf_split:key=InDetTrigTrackingxAODCnv_Bjet_IDTrig",
123  # "HLT_j.*b.*perf_split:key=InDetTrigTrackingxAODCnv_Bjet_FTF",
124 
125  "Electrons",
126 
127  "Electrons:MediumCB",
128  "Electrons:TightCB",
129  "Electrons:MediumLH",
130  "Electrons:TightLH",
131 
132  # "Taus",
133 
134  # "Taus_1Prong",
135  # "Taus_Loose_1Prong",
136  # "Taus_Medium_1Prong",
137  # "Taus_Tight_1Prong",
138  # "Taus_3Prong",
139  # "Taus_Loose_3Prong",
140  # "Taus_Medium_3Prong",
141  # "Taus_Tight_3Prong",
142 
143  "Taus:Medium:1Prong",
144  "Taus:Tight:1Prong",
145 
146  # ":HLT_IDTrack_FS_FTF",
147  # ":HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
148 
149  "HLT_j45_subjesgscIS_ftf_boffperf_split_L1J20:key=HLT_IDTrack_Bjet_FTF",
150  "HLT_j45_subjesgscIS_ftf_boffperf_split_L1J20:key=HLT_IDTrack_Bjet_IDTrig",
151 
152  "HLT_j45_ftf_subjesgscIS_boffperf_split_L1J20:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
153 
154  "HLT_.*_presel.*:key=HLT_IDTrack_JetSuper_FTF:roi=HLT_Roi_JetSuper",
155  "HLT_.*_presel.*:key=HLT_IDTrack_JetSuper_FTF:roi=HLT_Roi_JetSuper:vtx=HLT_IDVertex_JetSuper",
156 
157  "HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1J20:key=HLT_IDTrack_Bjet_IDTrig:roi=HLT_Roi_Bjet:vtx=HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTaggingSecVtx",
158  # don't use FSJet any longer
159  # "HLT_j45_ftf_subjesgscIS_boffperf_split_L1J20:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FSJet",
160  "HLT_j45_pf_ftf_preselj20_L1J15:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FS",
161  # don't use FSJet any longer
162  # "HLT_j45_pf_ftf_preselj20_L1J15:key=HLT_IDTrack_FS_FTF:roi=HLT_FSRoI:vtx=HLT_IDVertex_FSJet",
163  "HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1J20:key=HLT_IDTrack_Bjet_IDTrig:roi=HLT_Roi_Bjet:vtx=HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTaggingSecVtx",
164 
165  "HLT_fslrt.*:HLT_IDTrack_FSLRT_FTF;DTE",
166  "HLT_fslrt.*:HLT_IDTrack_FS_FTF;DTE",
167  "HLT_fslrt.*:HLT_IDTrack_FSLRT_IDTrig;DTE",
168 
169  "HLT_mu.*_idperf.*:HLT_IDTrack_Muon_FTF",
170  "HLT_mu.*_idperf.*:HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon",
171  "HLT_mu.*_idperf.*:HLT_IDTrack_Muon_IDTrig",
172  "HLT_mu.*_idperf.*:HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon",
173  "HLT_mu.*iv.*:HLT_IDTrack_MuonIso_FTF:roi=HLT_Roi_MuonIso",
174  "HLT_mu.*iv.*:HLT_IDTrack_MuonIso_IDTrig:roi=HLT_Roi_MuonIso",
175 
176  "HLT_mu.*_LRT_idperf_.*:HLT_IDTrack_MuonLRT_FTF:HLT_Roi_L2SAMuon_LRT",
177  "HLT_mu.*_LRT_idperf_.*:HLT_IDTrack_MuonLRT_IDTrig:HLT_Roi_L2SAMuon_LRT",
178  "HLT_mu.*_LRT_idperf_.*:HLT_IDTrack_MuonLRT_FTF:HLT_Roi_L2SAMuon_LRT",
179 
180  "HLT_b.*perf.*:HLT_IDTrack_Bjet_FTF",
181  "HLT_b.*perf.*:HLT_IDTrack_Bjet_IDTrig",
182  "HLT_j.*perf.*:HLT_IDTrack_Bjet_FTF",
183  "HLT_j.*perf.*:HLT_IDTrack_Bjet_IDTrig",
184 
185 # "HLT_e.*_etcut.*:HLT_IDTrack_Electron_FTF",
186 # "HLT_e.*_etcut.*:HLT_IDTrack_Electron_IDTrig",
187  "HLT_e.*:HLT_IDTrack_Electron_FTF:roi=HLT_Roi_FastElectron",
188  "HLT_e.*:HLT_IDTrack_Electron_IDTrig",
189  "HLT_e.*:HLT_IDTrack_Electron_GSF",
190 
191  "HLT_e20_idperf_loose_lrtloose_L1eEM18L:HLT_IDTrack_ElecLRT_FTF:HLT_Roi_FastElectron_LRT",
192  "HLT_e30_idperf_loose_lrtloose_L1eEM26M:HLT_IDTrack_ElecLRT_FTF:HLT_Roi_FastElectron_LRT",
193  "HLT_e20_idperf_loose_lrtloose_L1eEM18L:HLT_IDTrack_ElecLRT_IDTrig:HLT_Roi_FastElectron_LRT",
194  "HLT_e30_idperf_loose_lrtloose_L1eEM26M:HLT_IDTrack_ElecLRT_IDTrig:HLT_Roi_FastElectron_LRT",
195 
196  # electron lrt e tag
197  "HLT_e26_lhtight_ivarloose_e5_idperf_loose_lrtloose_probe_L1eEM26M:HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_LRT:te=1",
198  "HLT_e26_lhtight_ivarloose_e5_idperf_loose_lrtloose_probe_L1eEM26M:HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT:te=1",
199 
200  "HLT_e26_lhtight_ivarloose_e30_lhloose_nopix_lrtmedium_probe_L1eEM26M:HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_LRT:te=1",
201  "HLT_e26_lhtight_ivarloose_e30_lhloose_nopix_lrtmedium_probe_L1eEM26M:HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT:te=1",
202 
203  # electron lrt photon tag
204  "HLT_e5_idperf_loose_lrtloose_probe_g25_medium_L1eEM24L:HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_LRT:te=0",
205  "HLT_e5_idperf_loose_lrtloose_probe_g25_medium_L1eEM24L:HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT:te=0",
206 
207  "HLT_e30_lhloose_nopix_lrtmedium_probe_g25_medium_L1eEM24L:HLT_IDTrack_ElecLRT_FTF:roi=HLT_Roi_FastElectron_LRT:te=0",
208  "HLT_e30_lhloose_nopix_lrtmedium_probe_g25_medium_L1eEM24L:HLT_IDTrack_ElecLRT_IDTrig:roi=HLT_Roi_FastElectron_LRT:te=0",
209 
210  # double electron chains for tag and probe analysis
211  "HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_FTF:extra=el_tag:roi=HLT_Roi_FastElectron:te=0",
212  "HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_FTF:extra=el_probe:roi=HLT_Roi_FastElectron:te=1",
213  "HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_FTF:roi=HLT_Roi_FastElectron:te=1",
214 
215  "HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_IDTrig:extra=el_tag:te=0",
216  "HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_IDTrig:extra=el_probe:te=1",
217  "HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_IDTrig:te=1",
218 
219  "HLT_e26_lhtight_e14_idperf_tight_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_GSF:extra=el_tag:te=0",
220  "HLT_e26_lhtight_e14_idperf_tight_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_GSF:extra=el_probe:te=1",
221  "HLT_e26_lhtight_e14_idperf_tight_probe_50invmAB130_L1eEM26M:key=HLT_IDTrack_Electron_GSF:te=1",
222 
223  "HLT_mu14_mu14_idtp_idZmumu_L12MU8F:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
224  "HLT_mu14_mu14_idtp_idZmumu_L12MU8F:key=HLT_IDTrack_Muon_FTF:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
225  "HLT_mu14_mu14_idtp_idZmumu_L12MU8F:key=HLT_IDTrack_Muon_FTF::roi=HLT_Roi_L2SAMuon:te=1",
226 
227  "HLT_mu14_mu14_idtp_idZmumu_L12MU8F:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_probe:te=1",
228  "HLT_mu14_mu14_idtp_idZmumu_L12MU8F:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:extra=mu_tag:te=0",
229  "HLT_mu14_mu14_idtp_idZmumu_L12MU8F:key=HLT_IDTrack_Muon_IDTrig:roi=HLT_Roi_L2SAMuon:te=1",
230 
231  # two stage tau FTF
232  "HLT_tau.*_idperf.*tracktwo.*:HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore",
233  "HLT_tau.*_idperf.*tracktwo.*:HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso",
234  "HLT_tau.*_idperf.*tracktwo.*:HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIsoBDT",
235 
236  # two stage tau precision tracking - empty ???
237  "HLT_tau.*_idperf.*tracktwo.*:HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso",
238  "HLT_tau.*_idperf.*tracktwo.*:HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso:vtx=HLT_IDVertex_Tau",
239 
240 
241  # should get single stage tau
242  "HLT_tau.*_idperf.*_track_.*:HLT_IDTrack_Tau_FTF:roi=HLT_Roi_Tau",
243  "HLT_tau.*_idperf.*_track_.*:HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_Tau",
244 
245  # LRT tau
246  "HLT_tau.*trackLRT.*:HLT_IDTrack_TauLRT_FTF:roi=HLT_Roi_TauLRT",
247  "HLT_tau.*trackLRT.*:HLT_IDTrack_TauLRT_IDTrig:roi=HLT_Roi_TauLRT",
248 
249  # none of these will work
250  "HLT_tau.*_idperf.*:HLT_IDTrack_Tau_IDTrig",
251 
252 
253  # only need one instance for the tag of the tag and probe, because we
254  # don't actually use the triggder collections at all, only the Roi and
255  # offline objects in the roi
256  # "HLT_mu.*tau.*_idperf.*:HLT_IDTrack_Muon_FTF:HLT_Roi_L2SAMuon:te=0",
257  "HLT_mu.*tau.*_idperf.*:HLT_IDTrack_Muon_IDTrig:HLT_Roi_L2SAMuon:te=0",
258 
259  "HLT_mu.*tau.*_idperf.*:HLT_IDTrack_TauCore_FTF:roi=HLT_Roi_TauCore:te=1",
260  "HLT_mu.*tau.*_idperf.*:HLT_IDTrack_TauIso_FTF:roi=HLT_Roi_TauIso:te=1",
261  "HLT_mu.*tau.*_idperf.*:HLT_IDTrack_Tau_IDTrig:roi=HLT_Roi_TauIso:te=1",
262 
263  # should work for single stage tau ???
264  # "HLT_tau.*_idperf.*:HLT_IDTrack_Tau_FTF",
265 
266  # should work for a two stage tau ??
267  # "HLT_tau.*_idperf.*:HLT_IDTrack_TauIso_FTF",
268 
269  "HLT_mu4.*_cosmic.*:HLT_IDTrack_Cosmic_FTF",
270  "HLT_mu4.*_cosmic.*:HLT_IDTrack_Cosmic_IDTrig",
271  "HLT_mu4.*_cosmic.*:HLT_IDTrack_Cosmic_EFID",
272 
273  #"HLT_mb.*:HLT_IDTrack_Cosmic_EFID",
274  #"HLT_mb.*:HLT_IDTrack_MinBias_FTF", #There are no tracks here
275  "HLT_mb.*:HLT_IDTrack_MinBias_IDTrig",
276  #"HLT_mb.*:HLT_IDTrack_MinBias_EFID" #There are no tracks here
277 
278  "HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V:HLT_IDTrack_Bmumux_FTF",
279  "HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V:HLT_IDTrack_Bmumux_IDTrig",
280  "HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF:HLT_IDTrack_Bmumux_FTF",
281  "HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF:HLT_IDTrack_Bmumux_IDTrig"
282 
283  ]
284 
285  from PyUtils.Helpers import release_metadata
287  TestMonTool.releaseMetaData = d['nightly name'] + " " + d['nightly release'] + " " + d['date'] + " " + d['platform'] + " " + d['release']
288  TestMonTool.outputFileName="TrkNtuple.root"
289  algseq += [ TestMonTool ]
290  print (TestMonTool)
291 
292 
293 print ("configured everything")
294 
295 
296 # include("AthAnalysisBaseComps/SuppressLogging.py") #Optional include to suppress as much athena output as possible. Keep at bottom of joboptions so that it doesn't suppress the logging of the things you have configured above
297 
298 
299 MessageSvc.infoLimit = 100000000
python.ComponentAccumulator.CAtoGlobalWrapper
def CAtoGlobalWrapper(*args, **kwargs)
Definition: ComponentAccumulator.py:1262
python.Helpers.release_metadata
def release_metadata()
Definition: Tools/PyUtils/python/Helpers.py:143
python.TIDAMonitoring.TIDAMonitoring
def TIDAMonitoring(flags=None, name=None, monlevel=None, mcTruth=False)
Definition: TIDAMonitoring.py:13
beamspotman.dir
string dir
Definition: beamspotman.py:623
Lb2Lll.THistSvc
THistSvc
Definition: Lb2Lll.py:216