ATLAS Offline Software
Loading...
Searching...
No Matches
python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig Class Reference
Collaboration diagram for python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig:

Public Member Functions

 __init__ (self, name, monGroups, cpart, tool=None)
 isoInfo (self)
 tool (self)
 isoCut (self)
 compile (self, flags)
 addMonitoring (self, flags)

Private Attributes

 __log = logging.getLogger('TrigEgammaPrecisionPhotonCaloIsoHypoTool')
 __name = name
 __isoinfo = cpart['isoInfo']
 __monGroups = monGroups
 __tool = tool

Static Private Attributes

dict __caloIsolationCut
dict __caloEtconeCut
dict __caloIsolationOffset

Detailed Description

Definition at line 20 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

Constructor & Destructor Documentation

◆ __init__()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__init__ ( self,
name,
monGroups,
cpart,
tool = None )

Definition at line 54 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

54 def __init__(self, name, monGroups, cpart, tool=None):
55
56 from AthenaCommon.Logging import logging
57 self.__log = logging.getLogger('TrigEgammaPrecisionPhotonCaloIsoHypoTool')
58 self.__name = name
59 self.__isoinfo = cpart['isoInfo']
60 self.__monGroups = monGroups
61
62 if not tool:
63 tool = CompFactory.TrigEgammaPrecisionPhotonCaloIsoHypoTool( name )
64
65 tool.EtaBins = [0.0, 0.6, 0.8, 1.15, 1.37, 1.52, 1.81, 2.01, 2.37, 2.47]
66
67 self.__tool = tool
68 self.__log.debug( 'Chain :%s', self.__name )
69 self.__log.debug( 'isoinfo :%s', self.__isoinfo )
70
71
const bool debug

Member Function Documentation

◆ addMonitoring()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.addMonitoring ( self,
flags )

Definition at line 123 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

123 def addMonitoring(self, flags):
124
125 monTool = GenericMonitoringTool(flags, "MonTool_"+self.__name,
126 HistPath = 'PrecisionPhotonCaloIsoHypo/'+self.__name)
127 monTool.defineHistogram('Et_em', type='TH1F', path='EXPERT', title="PrecisionPhotonCaloIso Hypo cluster E_{T}^{EM};E_{T}^{EM} [MeV]", xbins=50, xmin=-2000, xmax=100000)
128 monTool.defineHistogram('Eta', type='TH1F', path='EXPERT', title="PrecisionPhotonCaloIso Hypo entries per Eta;Eta", xbins=100, xmin=-2.5, xmax=2.5)
129 monTool.defineHistogram('Phi', type='TH1F', path='EXPERT', title="PrecisionPhotonCaloIso Hypo entries per Phi;Phi", xbins=128, xmin=-3.2, xmax=3.2)
130 monTool.defineHistogram('EtaBin', type='TH1I', path='EXPERT', title="PrecisionPhotonCaloIso Hypo entries per Eta bin;Eta bin no.", xbins=11, xmin=-0.5, xmax=10.5)
131
132 cuts=['Input','eta','Calo Iso']
133
134 monTool.defineHistogram('CutCounter', type='TH1I', path='EXPERT', title="PrecisionPhotonCaloIso Hypo Passed Cuts;Cut",
135 xbins=13, xmin=-1.5, xmax=12.5, opt="kCumulative", xlabels=cuts)
136
137 if flags.Trigger.doValidationMonitoring:
138 monTool.defineHistogram('etcone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo etcone20; etcone20;", xbins=50, xmin=0, xmax=5.0)
139 monTool.defineHistogram('topoetcone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo; topoetcone20;", xbins=50, xmin=-10, xmax=10)
140 monTool.defineHistogram('reletcone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo etcone20/et; etcone20/et;", xbins=50, xmin=-0.5, xmax=0.5)
141 monTool.defineHistogram('reltopoetcone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo; topoetcone20/pt;", xbins=50, xmin=-0.5, xmax=0.5)
142
143 self.tool().MonTool = monTool
144
145
146

◆ compile()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.compile ( self,
flags )

Definition at line 96 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

96 def compile(self, flags):
97
98 if self.isoInfo() != 'noiso':
99 if self.isoInfo() not in self.__caloIsolationCut.keys():
100 self.__log.error('Isolation cut %s not defined!', self.isoInfo())
101
102 self.__log.debug('Configuring Isolation cut %s for [topoetcone20/et, topoetcone30/et, topoetcone40/et]', self.isoInfo())
103 self.__log.debug(' with values = %s and offsets = %s',
104 str(self.__caloIsolationCut[self.isoInfo()]),
105 str(self.__caloIsolationOffset[self.isoInfo()]))
106 else:
107 self.__log.debug('Configuring Isolation to AcceptAll (not applying any cut)')
108 self.isoCut()
109
110
111 if hasattr(self.tool(), "MonTool"):
112
113 doValidationMonitoring = flags.Trigger.doValidationMonitoring # True to monitor all chains for validation purposes
114 monGroups = self.__monGroups
115
116 if (any('egammaMon:online' in group for group in monGroups) or doValidationMonitoring):
117 self.addMonitoring(flags)
118
119

◆ isoCut()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.isoCut ( self)

Definition at line 81 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

81 def isoCut(self):
82
83 if self.isoInfo() == 'noiso':
84 self.tool().AcceptAll = True
85 return
86 self.tool().RelTopoEtConeCut = self.__caloIsolationCut[self.isoInfo()]
87 self.tool().RelEtConeCut = self.__caloEtconeCut[self.isoInfo()]
88 self.tool().Offset = self.__caloIsolationOffset[self.isoInfo()]
89
90
91
92

◆ isoInfo()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.isoInfo ( self)

Definition at line 72 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

72 def isoInfo(self):
73 return self.__isoinfo
74

◆ tool()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.tool ( self)

Definition at line 75 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

75 def tool(self):
76 return self.__tool
77

Member Data Documentation

◆ __caloEtconeCut

dict python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__caloEtconeCut
staticprivate
Initial value:
= {
None : [None, None, None],
'icaloloose' : [999., 999., 999.],
'icalomedium' : [999., 999., 999.],
'icalotight' : [999., 999., 999.]
}

Definition at line 39 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __caloIsolationCut

dict python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__caloIsolationCut
staticprivate
Initial value:
= {
None : [None, None, None],
'icaloloose' : [0.1 , 999., 999. ],
'icalomedium' : [0.075, 999., 999. ],
'icalotight' : [999. , 999., 0.03 ]
}

Definition at line 32 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __caloIsolationOffset

dict python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__caloIsolationOffset
staticprivate
Initial value:
= {
None : [None, None, None],
'icaloloose' : [0.,0.,0.],
'icalomedium': [0.,0.,0],
'icalotight' : [0.,0.,2.45*GeV]
}

Definition at line 46 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __isoinfo

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__isoinfo = cpart['isoInfo']
private

Definition at line 59 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __log

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__log = logging.getLogger('TrigEgammaPrecisionPhotonCaloIsoHypoTool')
private

Definition at line 57 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __monGroups

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__monGroups = monGroups
private

Definition at line 60 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __name

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__name = name
private

Definition at line 58 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __tool

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__tool = tool
private

Definition at line 67 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.


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