ATLAS Offline Software
Loading...
Searching...
No Matches
HECNoiseD3PDMaker.HECNoiseD3PDMaker Class Reference
Inheritance diagram for HECNoiseD3PDMaker.HECNoiseD3PDMaker:
Collaboration diagram for HECNoiseD3PDMaker.HECNoiseD3PDMaker:

Public Member Functions

 __init__ (self, name, **kw)
 initialize (self)
 execute (self)
 finalize (self)
virtual StatusCode reinitialize () override
virtual StatusCode start () override
virtual StatusCode stop () override
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const char * typeName () const override
 return the std::type_info name of the underlying py-component This is used by concrete implementations to connect a python component to its C++ counter-part
virtual PyObjectself () override
 return associated python object.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Public Attributes

 name = name
 det = None
 cond = None
 MinDigitADC = kw.get('MinDigitADC', 20)
 cell cuts
 MaxDeltaT = kw.get('MaxDeltaT', 5)
 NtupleFileName = kw.get('NtupleFileName', 'HECNoiseD3PD.root')
# take only triggered events or all if RequireTrigger is False(default) RequireTrigger = kw.get('RequireTrigger', False)
 TriggerLines
 sg = PyAthena.py_svc("StoreGateSvc")
 LArOID = self.det.retrieve("LArOnlineID","LArOnlineID")
 cid = self.det.retrieve("CaloCell_ID","CaloCell_ID")
 tdt = PyAthena.py_tool('Trig::TrigDecisionTool/TrigDecisionTool')
 ntfile = ROOT.TFile(self.NtupleFileName,"RECREATE")
 hectree = ROOT.TTree("HECNoise","HECNoise")
 iRun = array('i',[0])
 iEvent = array('L',[0])
 iEventCount = array('i',[0])
dict fPrescale = {}
dict iTrigger = {}
 iTime = array('i',[0])
 iLB = array('i',[0])
 iBCID = array('i',[0])
 avgMu = array('f',[0.0])
 actMu = array('f',[0.0])
 iGain = array('i',[0])
 iOID = array('L',[0])
 iSide = array('i',[0])
 iSamp = array('i',[0])
 iReg = array('i',[0])
 iEta = array('i',[0])
 iPhi = array('i',[0])
 iQuality = array('i',[0])
 e = array('f',[0.0])
 t = array('f',[0.0])
 eta = array('f',[0.0])
 phi = array('f',[0.0])
 z = array('f',[0.0])
 r = array('f',[0.0])
 Ped = array('f',[0.0])
 PedRMS = array('f',[0.0])
 iDigi = array('i',32*[0])
 iMax = array('i',[0])
 iMin = array('i',[0])

Protected Member Functions

virtual bool setPyAttr (PyObject *pyobj) override
 attach the C++ component to its python cousin
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Protected Attributes

PyObjectm_self
 Pointer to self (from the python world)

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 14 of file HECNoiseD3PDMaker.py.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ __init__()

HECNoiseD3PDMaker.HECNoiseD3PDMaker.__init__ ( self,
name,
** kw )

Definition at line 15 of file HECNoiseD3PDMaker.py.

15 def __init__ ( self, name, **kw ) :
16 PyAthena.Alg.__init__(self,name)
17 self.name = name
18 self.det = None
19 self.cond = None
20
21
22 self.MinDigitADC = kw.get('MinDigitADC', 20)
23 self.MaxDeltaT = kw.get('MaxDeltaT', 5)
24 self.NtupleFileName = kw.get('NtupleFileName', 'HECNoiseD3PD.root')
25 self.RequireTrigger = kw.get('RequireTrigger', False)
26 self.TriggerLines = kw.get('TriggerLines', ['HLT_noalg_L1EM20A',
27 'HLT_noalg_L1EM20C',
28 'L1_J12',
29 'L1_J30',
30 'L1_TAU5',
31 'L1_TAU8',
32 'L1_J5_EMPTY',
33 'L1_J10_EMPTY',
34 'L1_J12_EMPTY',
35 'L1_J30_EMPTY',
36 'L1_TAU5_EMPTY',
37 'L1_TAU8_EMPTY',
38 'L1_J5_FIRSTEMPTY',
39 'L1_J10_FIRSTEMPTY',
40 'L1_J12_FIRSTEMPTY',
41 'L1_J30_FIRSTEMPTY',
42 'L1_TAU5_FIRSTEMPTY',
43 'L1_TAU8_FIRSTEMPTY'])
44

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

HECNoiseD3PDMaker.HECNoiseD3PDMaker.execute ( self)

Definition at line 130 of file HECNoiseD3PDMaker.py.

130 def execute(self):
131 eid=ROOT.Gaudi.Hive.currentContext().eventID()
132 lcsCont = self.cond.retrieve("CondCont<LArOnOffIdMapping>","LArOnOffIdMap")
133 lcs=lcsCont.find(eid)
134 pedCont = self.cond.retrieve("CondCont<ILArPedestal>","LArPedestal")
135 ped=pedCont.find(eid)
136 cddCont = self.cond.retrieve("CondCont<CaloDetDescrManager>","CaloDetDescrManager")
137 cdd=cddCont.find(eid)
138 # filter low gain cells
139 passedTrigger = False
140 foundLowCell = False
141 for tl in self.TriggerLines:
142 self.fPrescale[tl][0] = self.tdt.getPrescale(tl)
143 if self.tdt.isPassed(tl):
144 passedTrigger = True
145 self.iTrigger[tl][0] = 1
146 pass
147 else:
148 self.iTrigger[tl][0] = 0
149 pass
150 pass
151 if passedTrigger or not self.RequireTrigger: # take only triggered events or all if RequireTrigger is False (default)
152 self.iEventCount[0] = 0
153 ldc = self.sg.retrieve("LArDigitContainer","LArDigitContainer_Thinned")
154 for ld in ldc:
155 hid = ld.hardwareID()
156 if self.LArOID.isHECchannel(hid):# and ld.gain() == 2:
157 sigmax=0
158 sigmin=0
159 imax=0
160 imin=0
161 isamp=0
162 samp0= ld.samples()[0]
163 for samp in ld.samples():
164 if isamp < 32:
165 self.iDigi[isamp] = samp
166 pass
167 if samp-samp0 > sigmax:
168 sigmax = samp-samp0
169 imax=isamp
170 pass
171 if samp-samp0 < sigmin:
172 sigmin = samp-samp0
173 imin=isamp
174 pass
175 isamp = isamp+1
176 pass
177 if sigmax > self.MinDigitADC and sigmin < -self.MinDigitADC and ( (imin-imax) < self.MaxDeltaT or imin < imax):
178 foundLowCell = True
179 ei = self.sg.retrieve("xAOD::EventInfo","EventInfo")
180 cc = self.sg.retrieve("CaloCellContainer","AllCalo")
181 self.iRun[0] = ei.runNumber()
182 self.iEvent[0] = ei.eventNumber()
183 self.iEventCount[0] = self.iEventCount[0]+1
184 self.iTime[0] = ei.timeStamp()
185 self.iLB[0] = ei.lumiBlock()
186 self.iBCID[0] = ei.bcid()
187 self.avgMu[0] = ei.averageInteractionsPerCrossing()
188 self.actMu[0] = ei.actualInteractionsPerCrossing()
189 self.iGain[0] = ld.gain()
190 oid = lcs.cnvToIdentifier(hid)
191 self.iOID[0] = ld.channelID().get_compact()
192 self.Ped[0] = ped.pedestal(ld.channelID(),ld.gain())
193 self.PedRMS[0] = ped.pedestalRMS(ld.channelID(),ld.gain())
194 self.iSide[0] = self.cid.pos_neg(oid)
195 self.iSamp[0] = self.cid.sampling(oid)
196 self.iReg[0] = self.cid.region(oid)
197 self.iEta[0] = self.cid.eta(oid)
198 self.iPhi[0] = self.cid.phi(oid)
199 self.iMax[0] = imax
200 self.iMin[0] = imin
201 ihash = self.cid.calo_cell_hash(oid)
202 rcell = cc.findCell(ihash)
203 self.e[0] = 0.0
204 self.t[0] = 0.0
205 self.iQuality[0] = 0
206 if rcell.ID() != oid:
207 print ("Cell iHash does not match ...")
208 pass
209 else:
210 self.e[0] = rcell.e()
211 self.t[0] = rcell.time()
212 self.iQuality[0] = rcell.quality()
213 pass
214 cdde = cdd.get_element(oid)
215 self.eta[0] = cdde.eta()
216 self.phi[0] = cdde.phi()
217 self.z[0] = cdde.z()
218 self.r[0] = cdde.r()
219 self.hectree.Fill()
220 self.setFilterPassed(True)
221 pass
222 pass
223 pass
224 if foundLowCell:
225 print ('Event passed HECNoise Filter')
226 return True
227 pass
228 print ('Event failed HECNoise Filter')
229 self.setFilterPassed(False)
230 return True
231
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ finalize()

HECNoiseD3PDMaker.HECNoiseD3PDMaker.finalize ( self)

Definition at line 232 of file HECNoiseD3PDMaker.py.

232 def finalize(self):
233 self.ntfile.Write()
234 self.ntfile.Close()
235 return True
236

◆ initialize()

HECNoiseD3PDMaker.HECNoiseD3PDMaker.initialize ( self)

Definition at line 45 of file HECNoiseD3PDMaker.py.

45 def initialize(self):
46 print ("==> initializing ", self.name)
47 print ("MinDigitADC: ", self.MinDigitADC)
48 print ("MaxDeltaT: ", self.MaxDeltaT)
49 print ("NtupleFileName: ", self.NtupleFileName)
50 print ("RequireTrigger: ", self.RequireTrigger)
51 print ("TriggerLines: ", self.TriggerLines)
52 #
53 self.sg = PyAthena.py_svc("StoreGateSvc")
54 self.cond = PyAthena.py_svc('StoreGateSvc/ConditionStore')
55 self.det = PyAthena.py_svc("StoreGateSve/DetectorStore")
56 self.LArOID = self.det.retrieve("LArOnlineID","LArOnlineID")
57 self.cid = self.det.retrieve("CaloCell_ID","CaloCell_ID")
58 self.tdt = PyAthena.py_tool('Trig::TrigDecisionTool/TrigDecisionTool')
59 self.ntfile = ROOT.TFile(self.NtupleFileName,"RECREATE")
60 self.hectree = ROOT.TTree("HECNoise","HECNoise")
61 self.iRun = array('i',[0])
62 self.iEvent = array('L',[0])
63 self.iEventCount = array('i',[0])
64 self.fPrescale = {}
65 self.iTrigger = {}
66 for tl in self.TriggerLines:
67 self.fPrescale[tl] = array('f',[0.0])
68 self.iTrigger[tl] = array('i',[0])
69 pass
70 self.iTime = array('i',[0])
71 self.iLB = array('i',[0])
72 self.iBCID = array('i',[0])
73 self.avgMu = array('f',[0.0])
74 self.actMu = array('f',[0.0])
75 self.iGain = array('i',[0])
76 self.iOID = array('L',[0])
77 self.iSide = array('i',[0])
78 self.iSamp = array('i',[0])
79 self.iReg = array('i',[0])
80 self.iEta = array('i',[0])
81 self.iPhi = array('i',[0])
82 self.iQuality = array('i',[0])
83 self.e = array('f',[0.0])
84 self.t = array('f',[0.0])
85 self.eta = array('f',[0.0])
86 self.phi = array('f',[0.0])
87 self.z = array('f',[0.0])
88 self.r = array('f',[0.0])
89 self.Ped = array('f',[0.0])
90 self.PedRMS = array('f',[0.0])
91 self.iDigi = array('i',32*[0])
92 self.iMax = array('i',[0])
93 self.iMin = array('i',[0])
94 #
95 self.hectree.Branch("iRun",self.iRun,"iRun/I")
96 self.hectree.Branch("iEvent",self.iEvent,"iEvent/I")
97 self.hectree.Branch("iEventCount",self.iEventCount,"iEventCount/I")
98
99 for tl in self.TriggerLines:
100 self.hectree.Branch(tl+"_Prescale",self.fPrescale[tl],tl+"_Prescale/F")
101 self.hectree.Branch(tl+"_Trigger",self.iTrigger[tl],tl+"_Trigger/I")
102 pass
103 self.hectree.Branch("iTime",self.iTime,"iTime/I")
104 self.hectree.Branch("iLB",self.iLB,"iLB/I")
105 self.hectree.Branch("iBCID",self.iBCID,"iBCID/I")
106 self.hectree.Branch("avgMu",self.avgMu,"avgMu/F")
107 self.hectree.Branch("actMu",self.actMu,"actMu/F")
108 self.hectree.Branch("iGain",self.iGain,"iGain/I")
109 self.hectree.Branch("iOID",self.iOID,"iOID/l")
110 self.hectree.Branch("iSide",self.iSide,"iSide/I")
111 self.hectree.Branch("iSamp",self.iSamp,"iSamp/I")
112 self.hectree.Branch("iReg",self.iReg,"iReg/I")
113 self.hectree.Branch("iEta",self.iEta,"iEta/I")
114 self.hectree.Branch("iPhi",self.iPhi,"iPhi/I")
115 self.hectree.Branch("iQuality",self.iQuality,"iQuality/I")
116 self.hectree.Branch("e",self.e,"e/F")
117 self.hectree.Branch("t",self.t,"t/F")
118 self.hectree.Branch("eta",self.eta,"eta/F")
119 self.hectree.Branch("phi",self.phi,"phi/F")
120 self.hectree.Branch("z",self.z,"z/F")
121 self.hectree.Branch("r",self.r,"r/F")
122 self.hectree.Branch("Ped",self.Ped,"Ped/F")
123 self.hectree.Branch("PedRMS",self.PedRMS,"PedRMS/F")
124 self.hectree.Branch("iDigi",self.iDigi,"iDigi[32]/I")
125 self.hectree.Branch("iMax",self.iMax,"iMax/I")
126 self.hectree.Branch("iMin",self.iMin,"iMin/I")
127 #
128 return True
129
STL class.
void initialize()

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ reinitialize()

StatusCode Alg::reinitialize ( )
overridevirtualinherited

Definition at line 67 of file PyAthenaAlg.cxx.

68{
69 ATH_MSG_INFO("Re-Initializing " << name() << "...");
70 return PyAthena::callPyMethod( m_self, "sysReinitialize" );
71}
#define ATH_MSG_INFO(x)
PyObject * m_self
Pointer to self (from the python world)
Definition PyAthenaAlg.h:96

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ self()

virtual PyObject * PyAthena::Alg::self ( )
inlineoverridevirtualinherited

return associated python object.

BORROWED reference.

Implements IPyComponent.

Definition at line 71 of file PyAthenaAlg.h.

71{ return m_self; }

◆ setPyAttr()

bool Alg::setPyAttr ( PyObject * pyobj)
overrideprotectedvirtualinherited

attach the C++ component to its python cousin

Implements IPyComponent.

Definition at line 143 of file PyAthenaAlg.cxx.

144{
145 // now we tell the PyObject which C++ object it is the cousin of.
146 RootUtils::PyGILStateEnsure ensure;
147 PyObject* pyobj = TPython::CPPInstance_FromVoidPtr
148 ( (void*)this, this->typeName() );
149 if ( !pyobj ) {
150 PyErr_Clear();
151 // try PyAthena::Alg
152 pyobj = TPython::CPPInstance_FromVoidPtr ((void*)this, "PyAthena::Alg");
154 ("could not dyncast component [" << name() << "] to a python "
155 << "object of type [" << this->typeName() << "] (probably a missing "
156 << "dictionary)" << endmsg
157 << "fallback to [PyAthena::Alg]...");
158 }
159 if ( !pyobj ) {
160 PyErr_Clear();
161 ATH_MSG_WARNING("Could not dyncast component ["
162 << name() << "] to a pyobject of type ["
163 << this->typeName() << "]");
164 } else {
165 if ( -1 == PyObject_SetAttrString(o, "_cppHandle", pyobj) ) {
166 PyErr_Clear();
168 ("Could not attach C++ handle [" << name() << "] to its python "
169 << "cousin !");
170 if ( -1 == PyObject_SetAttrString(o, "_cppHandle", Py_None) ) {
171 PyErr_Clear();
173 ("could not attach a dummy C++ handle [" << name() << "] to its "
174 "python cousin !");
175 }
176 } else {
177 return true;
178 }
179 }
180 return false;
181}
#define endmsg
#define ATH_MSG_WARNING(x)
_object PyObject
virtual const char * typeName() const override
return the std::type_info name of the underlying py-component This is used by concrete implementation...

◆ start()

StatusCode Alg::start ( )
overridevirtualinherited

Definition at line 74 of file PyAthenaAlg.cxx.

75{
76 return PyAthena::callPyMethod( m_self, "sysStart" );
77}

◆ stop()

StatusCode Alg::stop ( )
overridevirtualinherited

Definition at line 80 of file PyAthenaAlg.cxx.

81{
82 return PyAthena::callPyMethod( m_self, "sysStop" );
83}

◆ sysInitialize()

StatusCode Alg::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthAlgorithm.

Definition at line 105 of file PyAthenaAlg.cxx.

106{
107 ServiceHandle<IPyComponentMgr> pyMgr
108 ( "PyAthena::PyComponentMgr/PyComponentMgr", name() );
109 if ( !pyMgr.retrieve().isSuccess() ) {
110 ATH_MSG_ERROR("Could not retrieve service [" << pyMgr.typeAndName()
111 << "] !!");
112 return StatusCode::FAILURE;
113 }
114
115 // first retrieve our python object cousin...
116 m_self = pyMgr->pyObject( this );
117
118 if ( m_self == Py_None ) {
119 ATH_MSG_ERROR("Wrapped PyObject is NONE !");
120 return StatusCode::FAILURE;
121 }
122
123 // re-route to usual sysInit...
125}
#define ATH_MSG_ERROR(x)
virtual StatusCode sysInitialize() override
Override sysInitialize.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ typeName()

const char * Alg::typeName ( ) const
overridevirtualinherited

return the std::type_info name of the underlying py-component This is used by concrete implementations to connect a python component to its C++ counter-part

Implements IPyComponent.

Definition at line 132 of file PyAthenaAlg.cxx.

133{
134 static const std::string tname = System::typeinfoName(typeid(*this));
135 return tname.c_str();
136}

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ actMu

HECNoiseD3PDMaker.HECNoiseD3PDMaker.actMu = array('f',[0.0])

Definition at line 74 of file HECNoiseD3PDMaker.py.

◆ avgMu

HECNoiseD3PDMaker.HECNoiseD3PDMaker.avgMu = array('f',[0.0])

Definition at line 73 of file HECNoiseD3PDMaker.py.

◆ cid

HECNoiseD3PDMaker.HECNoiseD3PDMaker.cid = self.det.retrieve("CaloCell_ID","CaloCell_ID")

Definition at line 57 of file HECNoiseD3PDMaker.py.

◆ cond

HECNoiseD3PDMaker.HECNoiseD3PDMaker.cond = None

Definition at line 19 of file HECNoiseD3PDMaker.py.

◆ det

HECNoiseD3PDMaker.HECNoiseD3PDMaker.det = None

Definition at line 18 of file HECNoiseD3PDMaker.py.

◆ e

HECNoiseD3PDMaker.HECNoiseD3PDMaker.e = array('f',[0.0])

Definition at line 83 of file HECNoiseD3PDMaker.py.

◆ eta

HECNoiseD3PDMaker.HECNoiseD3PDMaker.eta = array('f',[0.0])

Definition at line 85 of file HECNoiseD3PDMaker.py.

◆ fPrescale

dict HECNoiseD3PDMaker.HECNoiseD3PDMaker.fPrescale = {}

Definition at line 64 of file HECNoiseD3PDMaker.py.

◆ hectree

HECNoiseD3PDMaker.HECNoiseD3PDMaker.hectree = ROOT.TTree("HECNoise","HECNoise")

Definition at line 60 of file HECNoiseD3PDMaker.py.

◆ iBCID

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iBCID = array('i',[0])

Definition at line 72 of file HECNoiseD3PDMaker.py.

◆ iDigi

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iDigi = array('i',32*[0])

Definition at line 91 of file HECNoiseD3PDMaker.py.

◆ iEta

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iEta = array('i',[0])

Definition at line 80 of file HECNoiseD3PDMaker.py.

◆ iEvent

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iEvent = array('L',[0])

Definition at line 62 of file HECNoiseD3PDMaker.py.

◆ iEventCount

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iEventCount = array('i',[0])

Definition at line 63 of file HECNoiseD3PDMaker.py.

◆ iGain

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iGain = array('i',[0])

Definition at line 75 of file HECNoiseD3PDMaker.py.

◆ iLB

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iLB = array('i',[0])

Definition at line 71 of file HECNoiseD3PDMaker.py.

◆ iMax

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iMax = array('i',[0])

Definition at line 92 of file HECNoiseD3PDMaker.py.

◆ iMin

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iMin = array('i',[0])

Definition at line 93 of file HECNoiseD3PDMaker.py.

◆ iOID

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iOID = array('L',[0])

Definition at line 76 of file HECNoiseD3PDMaker.py.

◆ iPhi

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iPhi = array('i',[0])

Definition at line 81 of file HECNoiseD3PDMaker.py.

◆ iQuality

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iQuality = array('i',[0])

Definition at line 82 of file HECNoiseD3PDMaker.py.

◆ iReg

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iReg = array('i',[0])

Definition at line 79 of file HECNoiseD3PDMaker.py.

◆ iRun

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iRun = array('i',[0])

Definition at line 61 of file HECNoiseD3PDMaker.py.

◆ iSamp

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iSamp = array('i',[0])

Definition at line 78 of file HECNoiseD3PDMaker.py.

◆ iSide

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iSide = array('i',[0])

Definition at line 77 of file HECNoiseD3PDMaker.py.

◆ iTime

HECNoiseD3PDMaker.HECNoiseD3PDMaker.iTime = array('i',[0])

Definition at line 70 of file HECNoiseD3PDMaker.py.

◆ iTrigger

dict HECNoiseD3PDMaker.HECNoiseD3PDMaker.iTrigger = {}

Definition at line 65 of file HECNoiseD3PDMaker.py.

◆ LArOID

HECNoiseD3PDMaker.HECNoiseD3PDMaker.LArOID = self.det.retrieve("LArOnlineID","LArOnlineID")

Definition at line 56 of file HECNoiseD3PDMaker.py.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_self

PyObject* PyAthena::Alg::m_self
protectedinherited

Pointer to self (from the python world)

Definition at line 96 of file PyAthenaAlg.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ MaxDeltaT

HECNoiseD3PDMaker.HECNoiseD3PDMaker.MaxDeltaT = kw.get('MaxDeltaT', 5)

Definition at line 23 of file HECNoiseD3PDMaker.py.

◆ MinDigitADC

HECNoiseD3PDMaker.HECNoiseD3PDMaker.MinDigitADC = kw.get('MinDigitADC', 20)

cell cuts

Definition at line 22 of file HECNoiseD3PDMaker.py.

◆ name

HECNoiseD3PDMaker.HECNoiseD3PDMaker.name = name

Definition at line 17 of file HECNoiseD3PDMaker.py.

◆ ntfile

HECNoiseD3PDMaker.HECNoiseD3PDMaker.ntfile = ROOT.TFile(self.NtupleFileName,"RECREATE")

Definition at line 59 of file HECNoiseD3PDMaker.py.

◆ NtupleFileName

HECNoiseD3PDMaker.HECNoiseD3PDMaker.NtupleFileName = kw.get('NtupleFileName', 'HECNoiseD3PD.root')

Definition at line 24 of file HECNoiseD3PDMaker.py.

◆ Ped

HECNoiseD3PDMaker.HECNoiseD3PDMaker.Ped = array('f',[0.0])

Definition at line 89 of file HECNoiseD3PDMaker.py.

◆ PedRMS

HECNoiseD3PDMaker.HECNoiseD3PDMaker.PedRMS = array('f',[0.0])

Definition at line 90 of file HECNoiseD3PDMaker.py.

◆ phi

HECNoiseD3PDMaker.HECNoiseD3PDMaker.phi = array('f',[0.0])

Definition at line 86 of file HECNoiseD3PDMaker.py.

◆ r

HECNoiseD3PDMaker.HECNoiseD3PDMaker.r = array('f',[0.0])

Definition at line 88 of file HECNoiseD3PDMaker.py.

◆ RequireTrigger

HECNoiseD3PDMaker.HECNoiseD3PDMaker.RequireTrigger = kw.get('RequireTrigger', False)

Definition at line 25 of file HECNoiseD3PDMaker.py.

◆ sg

HECNoiseD3PDMaker.HECNoiseD3PDMaker.sg = PyAthena.py_svc("StoreGateSvc")

Definition at line 53 of file HECNoiseD3PDMaker.py.

◆ t

HECNoiseD3PDMaker.HECNoiseD3PDMaker.t = array('f',[0.0])

Definition at line 84 of file HECNoiseD3PDMaker.py.

◆ tdt

HECNoiseD3PDMaker.HECNoiseD3PDMaker.tdt = PyAthena.py_tool('Trig::TrigDecisionTool/TrigDecisionTool')

Definition at line 58 of file HECNoiseD3PDMaker.py.

◆ TriggerLines

HECNoiseD3PDMaker.HECNoiseD3PDMaker.TriggerLines
Initial value:
= kw.get('TriggerLines', ['HLT_noalg_L1EM20A',
'HLT_noalg_L1EM20C',
'L1_J12',
'L1_J30',
'L1_TAU5',
'L1_TAU8',
'L1_J5_EMPTY',
'L1_J10_EMPTY',
'L1_J12_EMPTY',
'L1_J30_EMPTY',
'L1_TAU5_EMPTY',
'L1_TAU8_EMPTY',
'L1_J5_FIRSTEMPTY',
'L1_J10_FIRSTEMPTY',
'L1_J12_FIRSTEMPTY',
'L1_J30_FIRSTEMPTY',
'L1_TAU5_FIRSTEMPTY',
'L1_TAU8_FIRSTEMPTY'])

Definition at line 26 of file HECNoiseD3PDMaker.py.

◆ z

HECNoiseD3PDMaker.HECNoiseD3PDMaker.z = array('f',[0.0])

Definition at line 87 of file HECNoiseD3PDMaker.py.


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