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 __caloIsolationWPs

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 38 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

38 def __init__(self, name, monGroups, cpart, tool=None):
39
40 from AthenaCommon.Logging import logging
41 self.__log = logging.getLogger('TrigEgammaPrecisionPhotonCaloIsoHypoTool')
42 self.__name = name
43 self.__isoinfo = cpart['isoInfo']
44 self.__monGroups = monGroups
45
46 if not tool:
47 tool = CompFactory.TrigEgammaPrecisionPhotonCaloIsoHypoTool( name )
48
49 tool.EtaBins = [0.0, 0.6, 0.8, 1.15, 1.37, 1.52, 1.81, 2.01, 2.37, 2.47]
50
51 self.__tool = tool
52 self.__log.debug( 'Chain :%s', self.__name )
53 self.__log.debug( 'isoinfo :%s', self.__isoinfo )
54
55
const bool debug

Member Function Documentation

◆ addMonitoring()

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

Definition at line 107 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

107 def addMonitoring(self, flags):
108
109 monTool = GenericMonitoringTool(flags, "MonTool_"+self.__name,
110 HistPath = 'PrecisionPhotonCaloIsoHypo/'+self.__name)
111 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)
112 monTool.defineHistogram('Eta', type='TH1F', path='EXPERT', title="PrecisionPhotonCaloIso Hypo entries per Eta;Eta", xbins=100, xmin=-2.5, xmax=2.5)
113 monTool.defineHistogram('Phi', type='TH1F', path='EXPERT', title="PrecisionPhotonCaloIso Hypo entries per Phi;Phi", xbins=128, xmin=-3.2, xmax=3.2)
114 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)
115
116 cuts=['Input','eta','Calo Iso']
117
118 monTool.defineHistogram('CutCounter', type='TH1I', path='EXPERT', title="PrecisionPhotonCaloIso Hypo Passed Cuts;Cut",
119 xbins=13, xmin=-1.5, xmax=12.5, opt="kCumulative", xlabels=cuts)
120
121 if flags.Trigger.doValidationMonitoring:
122 monTool.defineHistogram('etcone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo etcone20; etcone20;", xbins=50, xmin=0, xmax=5.0)
123 monTool.defineHistogram('topoetcone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo; topoetcone20;", xbins=50, xmin=-10, xmax=10)
124 monTool.defineHistogram('relEtCone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo etcone20/et; etcone20/et;", xbins=50, xmin=-0.5, xmax=0.5)
125 monTool.defineHistogram('reltopoetcone20',type='TH1F',path='EXPERT',title= "PrecisionPhotonCaloIso Hypo; topoetcone20/pt;", xbins=50, xmin=-0.5, xmax=0.5)
126
127 self.tool().MonTool = monTool
128
129
130

◆ compile()

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

Definition at line 79 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

79 def compile(self, flags):
80
81 if self.isoInfo() != 'noiso':
82 if self.isoInfo() not in self.__caloIsolationWPs.keys():
83 self.__log.error('Isolation cut %s not defined!', self.isoInfo())
84
85 self.__log.debug('Configuring Isolation cut %s for topoetcone%d/et',
86 self.isoInfo(), self.__caloIsolationWPs[self.isoInfo()]['cone_size'])
87 self.__log.debug(' with values = %s and offsets = %s',
88 str(self.__caloIsolationWPs[self.isoInfo()]['wp']),
89 str(self.__caloIsolationWPs[self.isoInfo()]['offset']))
90 else:
91 self.__log.debug('Configuring Isolation to AcceptAll (not applying any cut)')
92 self.isoCut()
93
94
95 if hasattr(self.tool(), "MonTool"):
96
97 doValidationMonitoring = flags.Trigger.doValidationMonitoring # True to monitor all chains for validation purposes
98 monGroups = self.__monGroups
99
100 if (any('egammaMon:online' in group for group in monGroups) or doValidationMonitoring):
101 self.addMonitoring(flags)
102
103

◆ isoCut()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.isoCut ( self)

Definition at line 65 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

65 def isoCut(self):
66
67 if self.isoInfo() == 'noiso':
68 self.tool().AcceptAll = True
69 return
70 self.tool().RelTopoEtConeCut = self.__caloIsolationWPs[self.isoInfo()]['wp']
71 self.tool().Offset = self.__caloIsolationWPs[self.isoInfo()]['offset']
72 self.tool().TopoEtConeSize = self.__caloIsolationWPs[self.isoInfo()]['cone_size']
73
74
75

◆ isoInfo()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.isoInfo ( self)

Definition at line 56 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

56 def isoInfo(self):
57 return self.__isoinfo
58

◆ tool()

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.tool ( self)

Definition at line 59 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

59 def tool(self):
60 return self.__tool
61

Member Data Documentation

◆ __caloIsolationWPs

dict python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__caloIsolationWPs
staticprivate
Initial value:
= {
None : { 'cone_size' : None, 'offset' : None, 'wp' : None },
'icaloloose' : { 'cone_size' : 20, 'offset' : 0., 'wp' : 0.067 }, # 95% eff in offline photons with loose isolation
'icalomedium' : { 'cone_size' : 20, 'offset' : 0., 'wp' : 0.053 }, # 90% eff in offline photons with loose isolation
'icalotight' : { 'cone_size' : 40, 'offset' : 2.45*GeV, 'wp' : 0.063 }, # 95% eff in offline photons with tight isolation
}

Definition at line 30 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __isoinfo

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

Definition at line 43 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __log

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

Definition at line 41 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __monGroups

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__monGroups = monGroups
private

Definition at line 44 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __name

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__name = name
private

Definition at line 42 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.

◆ __tool

python.TrigEgammaPrecisionPhotonCaloIsoHypoTool.TrigEgammaPrecisionPhotonCaloIsoHypoToolConfig.__tool = tool
private

Definition at line 51 of file TrigEgammaPrecisionPhotonCaloIsoHypoTool.py.


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