ATLAS Offline Software
Loading...
Searching...
No Matches
python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig Class Reference
Collaboration diagram for python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig:

Public Member Functions

 __init__ (self, name, monGroups, cpart, tool=None)
 chain (self)
 pidname (self)
 etthr (self)
 tool (self)
 etcut (self)
 noPid (self)
 nominal (self)
 compile (self, flags)
 addMonitoring (self, flags)

Private Attributes

 __log = logging.getLogger('TrigEgammaPrecisionPhotonHypoTool')
 __name = name
 __threshold = float(cpart['threshold'])
 __sel = cpart['addInfo'][0] if cpart['addInfo'] else cpart['IDinfo']
 __monGroups = monGroups
 __tool = tool

Static Private Attributes

list __operation_points

Detailed Description

Definition at line 40 of file TrigEgammaPrecisionPhotonHypoTool.py.

Constructor & Destructor Documentation

◆ __init__()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__init__ ( self,
name,
monGroups,
cpart,
tool = None )

Definition at line 48 of file TrigEgammaPrecisionPhotonHypoTool.py.

48 def __init__(self, name, monGroups, cpart, tool=None):
49
50 from AthenaCommon.Logging import logging
51 self.__log = logging.getLogger('TrigEgammaPrecisionPhotonHypoTool')
52 self.__name = name
53 self.__threshold = float(cpart['threshold'])
54 self.__sel = cpart['addInfo'][0] if cpart['addInfo'] else cpart['IDinfo']
55 self.__monGroups = monGroups
56
57 if not tool:
58 tool = CompFactory.TrigEgammaPrecisionPhotonHypoTool( name )
59
60 tool.EtaBins = [0.0, 0.6, 0.8, 1.15, 1.37, 1.52, 1.81, 2.01, 2.37, 2.47]
61 tool.ETthr = same( self.__threshold*GeV , tool)
62 tool.dETACLUSTERthr = 0.1
63 tool.dPHICLUSTERthr = 0.1
64 tool.PidName = ""
65 tool.DoNoPid = False
66
67 self.__tool = tool
68 self.__log.debug( 'Chain :%s', self.__name )
69 self.__log.debug( 'Threshold :%s', self.__threshold )
70 self.__log.debug( 'Pidname :%s', self.__sel )
71
72
const bool debug

Member Function Documentation

◆ addMonitoring()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.addMonitoring ( self,
flags )

Definition at line 132 of file TrigEgammaPrecisionPhotonHypoTool.py.

132 def addMonitoring(self, flags):
133
134 monTool = GenericMonitoringTool(flags, "MonTool_"+self.__name,
135 HistPath = 'PrecisionPhotonHypo/'+self.__name)
136 monTool.defineHistogram('dEta', type='TH1F', path='EXPERT', title="PrecisionPhoton Hypo #Delta#eta_{EF L1}; #Delta#eta_{EF L1}", xbins=80, xmin=-0.01, xmax=0.01)
137 monTool.defineHistogram('dPhi', type='TH1F', path='EXPERT', title="PrecisionPhoton Hypo #Delta#phi_{EF L1}; #Delta#phi_{EF L1}", xbins=80, xmin=-0.01, xmax=0.01)
138 monTool.defineHistogram('Et_em', type='TH1F', path='EXPERT', title="PrecisionPhoton Hypo cluster E_{T}^{EM};E_{T}^{EM} [MeV]", xbins=50, xmin=-2000, xmax=100000)
139 monTool.defineHistogram('Eta', type='TH1F', path='EXPERT', title="PrecisionPhoton Hypo entries per Eta;Eta", xbins=100, xmin=-2.5, xmax=2.5)
140 monTool.defineHistogram('Phi', type='TH1F', path='EXPERT', title="PrecisionPhoton Hypo entries per Phi;Phi", xbins=128, xmin=-3.2, xmax=3.2)
141 monTool.defineHistogram('EtaBin', type='TH1I', path='EXPERT', title="PrecisionPhoton Hypo entries per Eta bin;Eta bin no.", xbins=11, xmin=-0.5, xmax=10.5)
142
143 cuts=['Input','#Delta #eta EF-L1', '#Delta #phi EF-L1','eta','E_{T}^{EM}']
144
145 monTool.defineHistogram('CutCounter', type='TH1I', path='EXPERT', title="PrecisionPhoton Hypo Passed Cuts;Cut",
146 xbins=13, xmin=-1.5, xmax=12.5, opt="kCumulative", xlabels=cuts)
147
148 if flags.Trigger.doValidationMonitoring:
149 monTool.defineHistogram('etcone20',type='TH1F',path='EXPERT',title= "PrecisionPhoton Hypo etcone20; etcone20;", xbins=50, xmin=0, xmax=5.0)
150 monTool.defineHistogram('topoetcone20',type='TH1F',path='EXPERT',title= "PrecisionPhoton Hypo; topoetcone20;", xbins=50, xmin=-10, xmax=10)
151 monTool.defineHistogram('reletcone20',type='TH1F',path='EXPERT',title= "PrecisionPhoton Hypo etcone20/et; etcone20/et;", xbins=50, xmin=-0.5, xmax=0.5)
152 monTool.defineHistogram('reltopoetcone20',type='TH1F',path='EXPERT',title= "PrecisionPhoton Hypo; topoetcone20/pt;", xbins=50, xmin=-0.5, xmax=0.5)
153
154 self.tool().MonTool = monTool
155
156
157

◆ chain()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.chain ( self)

Definition at line 73 of file TrigEgammaPrecisionPhotonHypoTool.py.

73 def chain(self):
74 return self.__name
75

◆ compile()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.compile ( self,
flags )

Definition at line 110 of file TrigEgammaPrecisionPhotonHypoTool.py.

110 def compile(self, flags):
111
112 if 'etcut' == self.pidname():
113 self.etcut()
114 elif 'nopid' == self.pidname():
115 self.noPid()
116
117 else:
118 self.nominal()
119
120 if hasattr(self.tool(), "MonTool"):
121
122 doValidationMonitoring = flags.Trigger.doValidationMonitoring # True to monitor all chains for validation purposes
123 monGroups = self.__monGroups
124
125 if (any('egammaMon:online' in group for group in monGroups) or doValidationMonitoring):
126 self.addMonitoring(flags)
127
128

◆ etcut()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.etcut ( self)

Definition at line 86 of file TrigEgammaPrecisionPhotonHypoTool.py.

86 def etcut(self):
87 self.__log.debug( 'Configure etcut' )
88 self.tool().ETthr = same( ( self.etthr() - 3 )*GeV, self.tool() )
89 # No other cuts applied
90 self.tool().dETACLUSTERthr = 9999.
91 self.tool().dPHICLUSTERthr = 9999.
92

◆ etthr()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.etthr ( self)

Definition at line 79 of file TrigEgammaPrecisionPhotonHypoTool.py.

79 def etthr(self):
80 return self.__threshold
81

◆ nominal()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.nominal ( self)

Definition at line 101 of file TrigEgammaPrecisionPhotonHypoTool.py.

101 def nominal(self):
102 if not self.pidname() in self.__operation_points:
103 self.__log.fatal("Bad selection name: %s" % self.pidname())
104 self.tool().PidName = self.pidname()
105
106

◆ noPid()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.noPid ( self)

Definition at line 93 of file TrigEgammaPrecisionPhotonHypoTool.py.

93 def noPid(self):
94 self.tool().DoNoPid = True
95 self.__log.debug( 'Configure noPid' )
96 self.tool().ETthr = same( self.etthr()*GeV, self.tool())
97 # No other cuts applied
98 self.tool().dETACLUSTERthr = 9999.
99 self.tool().dPHICLUSTERthr = 9999.
100

◆ pidname()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.pidname ( self)

Definition at line 76 of file TrigEgammaPrecisionPhotonHypoTool.py.

76 def pidname( self ):
77 return self.__sel
78

◆ tool()

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.tool ( self)

Definition at line 82 of file TrigEgammaPrecisionPhotonHypoTool.py.

82 def tool(self):
83 return self.__tool
84
85

Member Data Documentation

◆ __log

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__log = logging.getLogger('TrigEgammaPrecisionPhotonHypoTool')
private

Definition at line 51 of file TrigEgammaPrecisionPhotonHypoTool.py.

◆ __monGroups

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__monGroups = monGroups
private

Definition at line 55 of file TrigEgammaPrecisionPhotonHypoTool.py.

◆ __name

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__name = name
private

Definition at line 52 of file TrigEgammaPrecisionPhotonHypoTool.py.

◆ __operation_points

list python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__operation_points
staticprivate
Initial value:
= [ 'tight' ,
'medium' ,
'loose' ,
'nopid' ,
]

Definition at line 42 of file TrigEgammaPrecisionPhotonHypoTool.py.

◆ __sel

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__sel = cpart['addInfo'][0] if cpart['addInfo'] else cpart['IDinfo']
private

Definition at line 54 of file TrigEgammaPrecisionPhotonHypoTool.py.

◆ __threshold

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__threshold = float(cpart['threshold'])
private

Definition at line 53 of file TrigEgammaPrecisionPhotonHypoTool.py.

◆ __tool

python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolConfig.__tool = tool
private

Definition at line 67 of file TrigEgammaPrecisionPhotonHypoTool.py.


The documentation for this class was generated from the following file: