13 """ Use menu decoded chain dictionary to configure the tool """
14 cparts = [i
for i
in chainDict[
'chainParts']
if i[
'signature']==
'UnconventionalTracking']
15 thresholds =
sum([ [cpart[
'threshold']]*
int(cpart[
'multiplicity'])
for cpart
in cparts], [])
17 name = chainDict[
'chainName']
18 from AthenaConfiguration.ComponentFactory
import CompFactory
19 tool = CompFactory.TrigIsoHPtTrackTriggerHypoTool(name)
22 monTool.defineHistogram(
'CutCounter', type=
'TH1I', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo Cut Counter;Cut Counter", xbins=8, xmin=-1.5, xmax=7.5, opt=
"kCumulative")
23 monTool.defineHistogram(
'trackPt', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo p_{T}^{track} [MeV];p_{T}^{track} [MeV];Nevents", xbins=30, xmin=0, xmax=300000)
24 monTool.defineHistogram(
'trackd0', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo d0^{track} ; d0^{track} ;Nevents", xbins=100, xmin=0, xmax=10)
25 monTool.defineHistogram(
'trackNPixHits', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo N. Pix Hits^{track} ; N. Pix Hits^{track} ;Nevents", xbins=10, xmin=0, xmax=10)
27 monTool.defineHistogram(
'trackNSCTHits', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo N. SCT Hits^{track} ; N. SCT Hits^{track} ;Nevents", xbins=20, xmin=0, xmax=20)
28 monTool.defineHistogram(
'trackd0Sig', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo d0 Sig^{track} ; d0 Sig^{track} ;Nevents", xbins=60, xmin=0, xmax=6)
29 monTool.defineHistogram(
'trackEta', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo Eta^{track} ; Eta^{track} ;Nevents", xbins=30, xmin=-3, xmax=3)
30 monTool.defineHistogram(
'trackIsoPt', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo Iso p_{T}^{track} [MeV]; Isolation Cone p_{T}^{track} [MeV];Nevents", xbins=100, xmin=0, xmax=100000)
31 monTool.defineHistogram(
'trackAggrIsoPt', type=
'TH1F', path=
'EXPERT', title=
"IsoHPtTrackTrigger Hypo Iso p_{T}^{track} [MeV]; Isolation Cumalitive Cone p_{T}^{track} [MeV];Nevents", xbins=100, xmin=0, xmax=100000)
35 monTool.HistPath =
'IsoHPtTrackTriggerHypoAlg/'+tool.getName()
36 tool.MonTool = monTool
40 thresholds = [
float(THR)*GeV
for THR
in thresholds]
42 for THR
in thresholds:
43 strThr +=
str(THR)+
", "
45 log.debug(
"Threshold Values are: %s",strThr)
47 nt = len( thresholds )
48 tool.MinTrackPt = thresholds
49 tool.MinTrackNPixHits = [ 2 ] *nt
50 tool.MinTrackNSCTHits = [ 5 ] *nt
64 log.debug(
"Isolation is bound to be set to %s and event working point %s",cpart[
'isoInfo'],cpart[
'IDinfo'])
65 if cpart[
'isoInfo'] ==
"iloose":
66 log.debug(
"Loose isolation is set")
71 elif cpart[
'isoInfo'] ==
"imedium":
72 log.debug(
"Medium isolation is set")
77 elif cpart[
'isoInfo'] ==
"iaggrloose":
78 log.debug(
"Loose Cummulative(Aggregate) isolation is set")
83 elif cpart[
'isoInfo'] ==
"iaggrmedium":
84 log.debug(
"Medium Cummulative(Aggregate) isolation is set")
90 log.debug(
"Isolation is not set")
97 if cpart[
'IDinfo'] ==
"loose":
98 log.debug(
"Loose ID working point is set")
100 Trackd0.append(1000.)
101 Trackd0Sig.append(10.)
103 elif cpart[
'IDinfo'] ==
"tight":
104 log.debug(
"Tight ID working point is set")
106 Trackd0.append(1000.)
107 Trackd0Sig.append(5.)
109 log.debug(
"Medium ID working point is set")
111 Trackd0.append(1000.)
112 Trackd0Sig.append(5.)
116 tool.MinTrackEta = TrackEta
117 tool.MaxTrackd0 = Trackd0
118 tool.MaxTrackd0Sig = Trackd0Sig
120 tool.EnableTrackIsolation = EnIso
121 tool.EnableCumalitiveIsolation = IsoCum
122 tool.TrackIsoCone = IsoCone
123 tool.MinIsoTrackPt = IsoPt