ATLAS Offline Software
Loading...
Searching...
No Matches
LArAutoCorrMaker Class Reference

#include <LArAutoCorrMaker.h>

Inheritance diagram for LArAutoCorrMaker:
Collaboration diagram for LArAutoCorrMaker:

Public Member Functions

 LArAutoCorrMaker (const std::string &name, ISvcLocator *pSvcLocator)
 ~LArAutoCorrMaker ()
StatusCode initialize ()
StatusCode execute ()
StatusCode stop ()
StatusCode finalize ()
virtual StatusCode sysInitialize () override
 Override sysInitialize.
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

Protected Member Functions

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.

Private Types

typedef LArConditionsContainer< LArAutoCorrLARACMAP
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

SG::ReadCondHandleKey< BunchCrossingCondDatam_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"}
int m_bunchCrossingsFromFront
std::vector< std::string > m_keylist
std::vector< std::string > m_keylistproperty
std::string m_keyoutput
std::string m_groupingType
int m_nref
int m_rms_cut
int m_nsamples = 0
int m_normalize
int m_physics
LARACMAP m_autocorr
unsigned m_nEvents
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 38 of file LArAutoCorrMaker.h.

Member Typedef Documentation

◆ LARACMAP

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LArAutoCorrMaker()

LArAutoCorrMaker::LArAutoCorrMaker ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 41 of file LArAutoCorrMaker.cxx.

42 : AthAlgorithm(name, pSvcLocator),
43 m_groupingType("ExtendedSubDetector"), // SubDetector, Single, FeedThrough
44 m_nEvents(0)
45{
47 declareProperty("KeyOutput", m_keyoutput="LArAutoCorr");
48 declareProperty("events_ref", m_nref=50);
49 declareProperty("nsigma", m_rms_cut=5);
50 declareProperty("normalize", m_normalize=1);
51 declareProperty("physics", m_physics=0);
52 declareProperty("GroupingType", m_groupingType);
54}
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
std::vector< std::string > m_keylistproperty
std::string m_groupingType
std::string m_keyoutput

◆ ~LArAutoCorrMaker()

LArAutoCorrMaker::~LArAutoCorrMaker ( )
default

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 }

◆ 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()

StatusCode LArAutoCorrMaker::execute ( )

Definition at line 89 of file LArAutoCorrMaker.cxx.

91{
94 const xAOD::EventInfo* eventInfo = nullptr;
95 ATH_CHECK( evtStore()->retrieve( eventInfo ) );
96
97 SG::ReadCondHandle<BunchCrossingCondData> bccd (m_bcDataKey);
98 const BunchCrossingCondData* bunchCrossing=*bccd;
99 if (!bunchCrossing) {
100 ATH_MSG_ERROR("Failed to retrieve Bunch Crossing obj");
101 return StatusCode::FAILURE;
102 }
103
104 uint32_t bcid = eventInfo->bcid();
105 const int nBCsFromFront=bunchCrossing->distanceFromFront(bcid,BunchCrossingCondData:: BunchCrossings);
106 if (nBCsFromFront < m_bunchCrossingsFromFront) {
107 ATH_MSG_DEBUG("BCID " << bcid << " only " << nBCsFromFront << " BCs from front of BunchTrain. Event ignored. (min=" <<m_bunchCrossingsFromFront
108 << ", type= " << bunchCrossing->bcType(bcid) << ")" );
109 return StatusCode::SUCCESS; //Ignore this event
110 }
111 else
112 ATH_MSG_DEBUG("BCID " << bcid << " is " << nBCsFromFront << " BCs from front of BunchTrain. Event accepted.(min=" <<m_bunchCrossingsFromFront << ")");
113 }
114
115 const LArDigitContainer* larDigitContainer = nullptr;
116
117 for (const std::string& key : m_keylist) {
118 ATH_MSG_DEBUG("Reading LArDigitContainer from StoreGate! key=" << key);
119 sc= evtStore()->retrieve(larDigitContainer,key);
120 if (sc.isFailure() || !larDigitContainer) {
121 ATH_MSG_DEBUG("Cannot read LArDigitContainer from StoreGate! key=" << key);
122 continue;
123 }
124 if(larDigitContainer->empty()) {
125 ATH_MSG_DEBUG("Got empty LArDigitContainer (key=" << key << ").");
126 continue;
127 }
128 ATH_MSG_DEBUG("Got LArDigitContainer with key " << key <<", size=" << larDigitContainer->size());
129 ++m_nEvents;
130 m_nsamples = (*larDigitContainer->begin())->nsamples();
131 ATH_MSG_DEBUG("NSAMPLES (from digit container) = " << m_nsamples );
132
133 for (const LArDigit* digit : *larDigitContainer) {
134 const HWIdentifier chid=digit->hardwareID();
135 const CaloGain::CaloGain gain=digit->gain();
136 if (gain<0 || gain>CaloGain::LARNGAIN) {
137 ATH_MSG_ERROR( "Found odd gain number ("<< (int)gain <<")" );
138 return StatusCode::FAILURE;
139 }
140 const std::vector<short> & samples = digit->samples();
141 // LArAutoCorr& thisAC=m_autocorr[gain][chid];
142 LArAutoCorr& thisAC=m_autocorr.get(chid,gain);
143
144 if(thisAC.get_max()!=-1){ //Have already boundaries set
145 std::vector<short>::const_iterator s_it=samples.begin();
146 std::vector<short>::const_iterator s_it_e=samples.end();
147 const short & min = thisAC.get_min();
148 const short & max = thisAC.get_max();
149
150 for (;s_it!=s_it_e && *s_it>=min && *s_it<=max;++s_it)
151 ;
152 if (s_it==s_it_e)
153 thisAC.add(samples,m_nsamples);
154 }
155 else {
156 thisAC.add(samples,m_nsamples);
157 if (thisAC.get_nentries()==m_nref && m_nref>0) { //Set window size
158 // Define the window (min, max)according to pedestal and noise
159 // computed for a number of events = m_nref
160 const double mean = thisAC.get_mean();
161 const double noise = thisAC.get_rms();
162 const short min = (short)floor(mean - m_rms_cut*noise);
163 const short max = (short)ceil(mean + m_rms_cut*noise);
164 thisAC.set_min(min);
165 thisAC.set_max(max);
166 thisAC.correl_zero();
167 } //end if nentries==m_nref
168 } // end else
169 }//End loop over all cells
170 }// End loop over all containers
171 return StatusCode::SUCCESS;
172}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
static Double_t sc
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41
int distanceFromFront(const bcid_type bcid, const BunchDistanceType type=NanoSec) const
The distance of the specific bunch crossing from the front of the train.
@ BunchCrossings
Distance in units of 25 nanoseconds.
BunchCrossingType bcType(const bcid_type bcid) const
Convenience function for the type of the specific bunch crossing.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
std::vector< std::string > m_keylist
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
void add(const std::vector< short > &samples, size_t maxnsamples)
uint32_t bcid() const
The bunch crossing ID of the event.
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
@ LARNGAIN
Definition CaloGain.h:19
::StatusCode StatusCode
StatusCode definition for legacy code.
retrieve(aClass, aKey=None)
Definition PyKernel.py:110
EventInfo_v1 EventInfo
Definition of the latest event info version.
setEventNumber setTimeStamp bcid
setEventNumber uint32_t

◆ 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()

StatusCode LArAutoCorrMaker::finalize ( )
inline

Definition at line 57 of file LArAutoCorrMaker.h.

57{ return StatusCode::SUCCESS;}

◆ initialize()

StatusCode LArAutoCorrMaker::initialize ( )

Definition at line 60 of file LArAutoCorrMaker.cxx.

60 {
61
62 ATH_MSG_INFO( ">>> Initialize" );
63
64 if (m_keylistproperty.empty()) // Not key list given
65 {m_keylistproperty.emplace_back("HIGH");
66 m_keylistproperty.emplace_back("MEDIUM");
67 m_keylistproperty.emplace_back("LOW");
68 m_keylistproperty.emplace_back("FREE"); // For H6...
69 }
70
72 if (m_keylist.empty()) {
73 ATH_MSG_ERROR( "Key list is empty!" );
74 return StatusCode::FAILURE;
75 }
76
78 StatusCode sc=m_autocorr.initialize();
79 if (sc.isFailure()) {
80 ATH_MSG_ERROR( "Failed initialize intermediate AutoCorr object" );
81 return sc;
82 }
83
84 return StatusCode::SUCCESS;
85}
#define ATH_MSG_INFO(x)

◆ 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.

◆ 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 }

◆ stop()

StatusCode LArAutoCorrMaker::stop ( )

Definition at line 176 of file LArAutoCorrMaker.cxx.

178{
180 ATH_MSG_INFO( ">>> Stop()" );
181
182 if (m_keylist.empty()) {
183 ATH_MSG_ERROR( "Key list is empty! No containers processed!" );
184 return StatusCode::FAILURE;
185 }
186
187 // Create the LArAutoCorrComplete object
188 auto larAutoCorrComplete = std::make_unique<LArAutoCorrComplete>();
189
190 sc=larAutoCorrComplete->setGroupingType(m_groupingType,msg());
191 if (sc.isFailure()) {
192 ATH_MSG_ERROR( "Failed to set groupingType for LArAutoCorrComplete object" );
193 return sc;
194 }
195
196 sc=larAutoCorrComplete->initialize();
197 if (sc.isFailure()) {
198 ATH_MSG_ERROR( "Failed initialize LArAutoCorrComplete object" );
199 return sc;
200 }
201
202 for (int gain=0;gain<(int)CaloGain::LARNGAIN;gain++) {
205
206 //Inner loop goes over the cells.
207 for (;cell_it!=cell_it_e;cell_it++) {
208 LArAutoCorr autocorr = *cell_it;
209 // Check number of entries
210 if(autocorr.get_nentries()==0) continue;
211
212 // Get the autocorrelation matrix
213
214
215 //MGV implement normalization switch
216 const std::vector<double> & cov = autocorr.get_cov(m_normalize,m_physics);
217
218 //The AutoCorr is stored as float -> convert
219 std::vector<float> cov_flt;
220 cov_flt.reserve(cov.size());
221 std::vector<double>::const_iterator it=cov.begin();
222 std::vector<double>::const_iterator it_e=cov.end();
223 for (;it!=it_e;++it)
224 cov_flt.push_back((float)*it);
225 HWIdentifier ch_id = cell_it.channelId();
226
227 // Fill the data class with autocorrelation elements
228 if (ch_id!=0) {
229 larAutoCorrComplete->set(ch_id,gain,cov_flt);
230 }
231 }
232 }
233
234 ATH_MSG_INFO( "AutoCorrelation based on " << m_nEvents << " events." );
235 ATH_MSG_INFO( " Summary : Number of cells with a autocorr value computed : " << larAutoCorrComplete->totalNumberOfConditions() );
236 ATH_MSG_INFO( " Summary : Number of Barrel PS cells side A or C (connected+unconnected): 4096 " );
237 ATH_MSG_INFO( " Summary : Number of Barrel cells side A or C (connected+unconnected): 53248 " );
238 ATH_MSG_INFO( " Summary : Number of EMEC cells side A or C (connected+unconnected): 35328 " );
239 ATH_MSG_INFO( " Summary : Number of HEC cells side A or C (connected+unconnected): 3072 ");
240 ATH_MSG_INFO( " Summary : Number of FCAL cells side A or C (connected+unconnected): 1792 " );
241
242 // Record LArAutoCorrComplete
243 ATH_CHECK( detStore()->record(std::move(larAutoCorrComplete),m_keyoutput) );
244 return StatusCode::SUCCESS;
245}
const ServiceHandle< StoreGateSvc > & detStore() const
MsgStream & msg() const
const std::vector< double > & get_cov(int m_normalize, int m_phys)

◆ sysInitialize()

StatusCode AthAlgorithm::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 AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ 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.

◆ 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

◆ m_autocorr

LARACMAP LArAutoCorrMaker::m_autocorr
private

Definition at line 86 of file LArAutoCorrMaker.h.

◆ m_bcDataKey

SG::ReadCondHandleKey<BunchCrossingCondData> LArAutoCorrMaker::m_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"}
private

Definition at line 61 of file LArAutoCorrMaker.h.

61{this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"};

◆ m_bunchCrossingsFromFront

int LArAutoCorrMaker::m_bunchCrossingsFromFront
private

Definition at line 63 of file LArAutoCorrMaker.h.

◆ 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_groupingType

std::string LArAutoCorrMaker::m_groupingType
private

Definition at line 70 of file LArAutoCorrMaker.h.

◆ m_keylist

std::vector<std::string> LArAutoCorrMaker::m_keylist
private

Definition at line 66 of file LArAutoCorrMaker.h.

◆ m_keylistproperty

std::vector<std::string> LArAutoCorrMaker::m_keylistproperty
private

Definition at line 66 of file LArAutoCorrMaker.h.

◆ m_keyoutput

std::string LArAutoCorrMaker::m_keyoutput
private

Definition at line 67 of file LArAutoCorrMaker.h.

◆ m_nEvents

unsigned LArAutoCorrMaker::m_nEvents
private

Definition at line 90 of file LArAutoCorrMaker.h.

◆ m_normalize

int LArAutoCorrMaker::m_normalize
private

Definition at line 80 of file LArAutoCorrMaker.h.

◆ m_nref

int LArAutoCorrMaker::m_nref
private

Definition at line 73 of file LArAutoCorrMaker.h.

◆ m_nsamples

int LArAutoCorrMaker::m_nsamples = 0
private

Definition at line 77 of file LArAutoCorrMaker.h.

◆ m_physics

int LArAutoCorrMaker::m_physics
private

Definition at line 83 of file LArAutoCorrMaker.h.

◆ m_rms_cut

int LArAutoCorrMaker::m_rms_cut
private

Definition at line 76 of file LArAutoCorrMaker.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.


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