3 from AthenaCommon.Logging
import logging
4 from AthenaMonitoringKernel.GenericMonitoringTool
import GenericMonitoringTool
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
10 hitDVName =
"HLT_HitDV"
16 theHitDVHypo = CompFactory.TrigHitDVHypoAlg(name)
18 from TrigEDMConfig.TriggerEDM
import recordable
21 theHitDVHypo.isMC = flags.Input.isMC
25 monTool.defineHistogram(
'jet_pt', type=
'TH1F', path=
'EXPERT', title=
"p_{T}^{jet} [GeV];p_{T}^{jet} [GeV];Nevents", xbins=50, xmin=0, xmax=200)
26 monTool.defineHistogram(
'jet_eta', type=
'TH1F', path=
'EXPERT', title=
"#eta^{jet};#eta^{jet};Nevents", xbins=50, xmin=-5.0, xmax=5.0)
28 monTool.defineHistogram(
'n_dvtrks', type=
'TH1F', path=
'EXPERT', title=
"Nr of HitDVTrks;N HitDVTrks size;Nevents", xbins=50, xmin=0, xmax=1000)
29 monTool.defineHistogram(
'n_dvsps', type=
'TH1F', path=
'EXPERT', title=
"Nr of HitDVSPs;N HitDVSPs size;Nevents", xbins=50, xmin=0, xmax=100000)
30 monTool.defineHistogram(
'n_jetseeds', type=
'TH1F', path=
'EXPERT', title=
"Nr of Jet Seeds;N jet seeds;Nevents", xbins=25, xmin=0, xmax=25)
31 monTool.defineHistogram(
'n_jetseedsdel', type=
'TH1F', path=
'EXPERT', title=
"Nr of deleted jet seeds;N jet seeds;Nevents", xbins=25, xmin=0, xmax=25)
32 monTool.defineHistogram(
'n_spseeds', type=
'TH1F', path=
'EXPERT', title=
"Nr of Ly6/Ly7 SP-doublet Seeds;N SP seeds;Nevents", xbins=25, xmin=0, xmax=25)
33 monTool.defineHistogram(
'n_spseedsdel', type=
'TH1F', path=
'EXPERT', title=
"Nr of deleted Ly6/Ly7 SP-doublet seeds;N SP seeds;Nevents", xbins=25, xmin=0, xmax=25)
34 monTool.defineHistogram(
'average_mu', type=
'TH1F', path=
'EXPERT', title=
"Average mu;Average mu;Nevents", xbins=50, xmin=0, xmax=100)
36 monTool.defineHistogram(
'eta1_ly0_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#0 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
37 monTool.defineHistogram(
'eta1_ly1_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#1 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
38 monTool.defineHistogram(
'eta1_ly2_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#2 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
39 monTool.defineHistogram(
'eta1_ly3_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#3 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
40 monTool.defineHistogram(
'eta1_ly4_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#4 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
41 monTool.defineHistogram(
'eta1_ly5_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#5 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
42 monTool.defineHistogram(
'eta1_ly6_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#6 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
43 monTool.defineHistogram(
'eta1_ly7_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#7 hit fraction (|#eta|<1);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
44 monTool.defineHistogram(
'eta1_n_qtrk', type=
'TH1F', path=
'EXPERT', title=
"Nr of quality tracks (|#eta|<1);Nr of quality tracks;Nevents", xbins=20, xmin=0, xmax=20)
45 monTool.defineHistogram(
'eta1_bdtscore', type=
'TH1F', path=
'EXPERT', title=
"BDT score (|#eta|<1);BDT score;Nevents", xbins=50, xmin=-1.0, xmax=1.0)
46 monTool.defineHistogram(
'1eta2_ly0_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#0 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
47 monTool.defineHistogram(
'1eta2_ly1_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#1 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
48 monTool.defineHistogram(
'1eta2_ly2_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#2 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
49 monTool.defineHistogram(
'1eta2_ly3_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#3 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
50 monTool.defineHistogram(
'1eta2_ly4_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#4 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
51 monTool.defineHistogram(
'1eta2_ly5_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#5 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
52 monTool.defineHistogram(
'1eta2_ly6_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#6 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
53 monTool.defineHistogram(
'1eta2_ly7_spfr', type=
'TH1F', path=
'EXPERT', title=
"Layer#7 hit fraction (1<|#eta|<2);Hit fraction;Nevents", xbins=50, xmin=0.0, xmax=1.0)
54 monTool.defineHistogram(
'1eta2_n_qtrk', type=
'TH1F', path=
'EXPERT', title=
"Nr of quality tracks (1<|#eta|<2);Nr of quality tracks;Nevents", xbins=20, xmin=0, xmax=20)
55 monTool.defineHistogram(
'1eta2_bdtscore', type=
'TH1F', path=
'EXPERT', title=
"BDT score (1<|#eta|<2);BDT score;Nevents", xbins=50, xmin=-1.0, xmax=1.0)
57 monTool.HistPath =
'HitDVHypoAlg'
58 theHitDVHypo.MonTool = monTool
59 theHitDVHypo.jFexSRJetRoI =
"L1_jFexSRJetRoI"
61 useNewLayerNumberScheme =
False
62 from TrigFastTrackFinder.TrigFastTrackFinderConfig
import TrigSpacePointConversionToolCfg
64 UseNewLayerScheme=useNewLayerNumberScheme,
65 DoPhiFiltering =
False,
66 UseBeamTilt =
False, ))
68 theHitDVHypo.SpacePointProviderTool = spTool
70 acc.addEventAlgo(theHitDVHypo)
76 log = logging.getLogger(
'TrigHitDVHypoTool')
78 """ Use menu decoded chain dictionary to configure the tool """
79 cparts = [i
for i
in chainDict[
'chainParts']
if i[
'signature']==
'UnconventionalTracking']
80 thresholds =
sum([ [cpart[
'threshold']]*
int(cpart[
'multiplicity'])
for cpart
in cparts], [])
82 name = chainDict[
'chainName']
83 from AthenaConfiguration.ComponentFactory
import CompFactory
84 tool = CompFactory.TrigHitDVHypoTool(name)
90 thresholds = [
float(THR)
for THR
in thresholds]
92 for THR
in thresholds:
93 strThr +=
str(THR)+
", "
95 log.debug(
"Threshold Values are: %s",strThr)
97 tool.cutJetPtGeV = thresholds
104 if cpart[
'IDinfo'] ==
"loose":
105 log.debug(
"Loose ID working point is set")
107 doSPseed.append(
True)
109 elif cpart[
'IDinfo'] ==
"tight":
110 log.debug(
"Tight ID working point is set")
112 doSPseed.append(
False)
115 if cpart[
'IDinfo'] ==
"medium":
116 log.debug(
"Medium ID working point is set")
118 log.info(
"no working point specificed. setting medium working point")
120 doSPseed.append(
False)
123 tool.cutJetEta = jetEta
124 tool.doSPseed = doSPseed