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

#include <LArPulseShape.h>

Inheritance diagram for LArPulseShape:

Public Member Functions

 LArPulseShape (const std::string &name, ISvcLocator *pSvcLocator)
 ~LArPulseShape ()
virtual StatusCode initialize () override
virtual StatusCode execute () override
virtual StatusCode stop () override
std::map< std::string, TProfile * >::const_iterator TEffbegin () const
std::map< std::string, TProfile * >::const_iterator TEffend () const
std::map< int, TProfile * >::const_iterator TCellbegin () const
std::map< int, TProfile * >::const_iterator TCellend () const
std::map< std::string, TH1 * >::const_iterator THbegin () const
std::map< std::string, TH1 * >::const_iterator THend () const
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 Types

enum  { NOT_VALID = -999 }

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.

Protected Attributes

bool m_addBC = false
bool m_addFEBTemp = false
std::string m_ntpath
std::string m_ntTitle
NTuple::Tuple * m_nt
NTuple::Item< long > m_detector
NTuple::Item< long > m_region
NTuple::Item< long > m_layer
NTuple::Item< long > m_eta
NTuple::Item< long > m_phi
NTuple::Item< long > m_onlChanId
NTuple::Item< long > m_oflChanId
NTuple::Item< long > m_pos_neg
NTuple::Item< long > m_barrel_ec
NTuple::Item< long > m_FT
NTuple::Item< long > m_slot
NTuple::Item< long > m_channel
NTuple::Item< long > m_calibLine
NTuple::Item< long > m_badChanWord
NTuple::Item< long > m_isConnected
NTuple::Item< long > m_chanHash
NTuple::Item< long > m_febHash
NTuple::Item< long > m_oflHash
NTuple::Item< float > m_FEBTemp1
NTuple::Item< float > m_FEBTemp2
const LArEM_Base_IDm_emId = nullptr
const LArHEC_Base_IDm_hecId = nullptr
const LArFCAL_Base_IDm_fcalId = nullptr
const LArOnlineID_Basem_onlineId = nullptr
const CaloCell_IDm_caloId = nullptr
bool m_isSC = false
bool m_isFlat = false
bool m_addHash = false

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

void addHistogram (TH1 *h)
void addHistogram (TProfile *h)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

bool m_initialized
std::string m_ntname
std::string m_folder
const CaloCell_IDm_calo_id
NTuple::Item< short > m_peakSample
NTuple::Item< short > m_useHgIntercept
NTuple::Item< short > m_useMgIntercept
NTuple::Item< short > m_useLgIntercept
int m_OffId = 0
int m_OffId_conv = 0
int m_isample = 0
int m_mindist = 0
int m_closestBC = 0
PublicToolHandle< Trig::TrigDecisionToolm_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
SG::ReadCondHandleKey< LuminosityCondDatam_lumiDataKey {this,"LumiKey", "LuminosityCondData","SG Key of LuminosityCondData object"}
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< LArBadChannelContm_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
const ILArPedestalm_larPedestal = nullptr
std::map< std::string, TProfile * > m_effhistos
std::map< int, TProfile * > m_cellHistos
TProfile * m_TProfpulse_diff = nullptr
std::map< std::string, TH1 * > m_histos
TH1D * m_BCID = nullptr
TH1D * m_diffBCID = nullptr
TH1D * m_actualInt = nullptr
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 LArPulseShape.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
NOT_VALID 

Definition at line 99 of file LArPulseShape.h.

99{NOT_VALID = -999};

Constructor & Destructor Documentation

◆ LArPulseShape()

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

Definition at line 19 of file LArPulseShape.cxx.

19 :
20 AthAlgorithm(name, pSvcLocator), m_initialized(false), m_calo_id(nullptr),
21 m_nt(nullptr)
22{
23 declareProperty("NtupleTitle",m_ntTitle="Pulse shape");
24 m_ntpath="/NTUPLES/PULSE/"+m_ntname;
25}
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
std::string m_ntpath
std::string m_ntname
NTuple::Tuple * m_nt
const CaloCell_ID * m_calo_id
std::string m_ntTitle

◆ ~LArPulseShape()

LArPulseShape::~LArPulseShape ( )
default

Member Function Documentation

◆ addHistogram() [1/2]

void LArPulseShape::addHistogram ( TH1 * h)
inlineprivate

Definition at line 88 of file LArPulseShape.h.

88 {
89 std::string name = h->GetName();
90 m_histos.insert( std::map<std::string, TH1*>::value_type( name, h) );
91 }
std::map< std::string, TH1 * > m_histos

◆ addHistogram() [2/2]

void LArPulseShape::addHistogram ( TProfile * h)
inlineprivate

Definition at line 92 of file LArPulseShape.h.

92 {
93 std::string name = h->GetName();
94 m_effhistos.insert( std::map<std::string, TProfile*>::value_type( name, h) );
95 }
std::map< std::string, TProfile * > m_effhistos

◆ 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 LArPulseShape::execute ( )
overridevirtual

Definition at line 383 of file LArPulseShape.cxx.

383 {
384
385
386 const EventContext& ctx = Gaudi::Hive::currentContext();
387 short int bunchStr[8] = {1, 101, 201, 301, 1786, 1886, 1986, 2086}; //move to JO
388
389 std::vector<std::string> chains = m_trigDec->getListOfTriggers();
390 std::vector<std::string> myChains;
391
392 SG::ReadCondHandle<LuminosityCondData> lumi (m_lumiDataKey);
393
394 if (m_trigDec->isPassed("L1_RD1_BGRP10")) {
395
396 int bunchId = ctx.eventID().bunch_crossing_id();
397
398 m_mindist = 3564;
399 m_closestBC = 0;
400 for (int i = 0; i < 8; i++) {
401 if ( (fabs(bunchId - bunchStr[i]) < m_mindist) || (fabs(bunchId - (bunchStr[i]+3564)) < m_mindist)) {
402 m_mindist = std::min(fabs(bunchId - bunchStr[i]),(fabs(bunchId - (bunchStr[i]+3564))));
403 m_closestBC = bunchStr[i];
404 }
405 }
406 if (fabs(bunchId - m_closestBC) < (fabs(bunchId - (m_closestBC+3564)))) {
407 m_mindist = bunchId - m_closestBC;
408 } else {
409 m_mindist = bunchId - (m_closestBC+3564);
410 }
411
412 //std::cout << "bunchID = " << bunchId<< ", m_mindist = " << m_mindist << ", m_closestBC = " << m_closestBC << std::endl;
413 m_BCID->Fill(bunchId);
414 m_diffBCID->Fill(m_mindist);
415
416 m_actualInt->Fill(lumi->lbLuminosityPerBCIDVector().at(m_closestBC));
417
418 const LArDigitContainer* larDigitContainer;
419 ATH_CHECK( evtStore()->retrieve(larDigitContainer, "FREE") );
421 if (larDigitContainer->empty()) {
422 ATH_MSG_WARNING ( "LArDigitContainer with key= is empty!" );
423
424 return StatusCode::SUCCESS;
425 }
426
427 SG::ReadCondHandle<LArOnOffIdMapping> larCablingHdl(m_cablingKey);
428 const LArOnOffIdMapping* cabling=*larCablingHdl;
429 if(!cabling) {
430 ATH_MSG_ERROR("Could not get LArOnOffIdMapping !!");
431 return StatusCode::FAILURE;
432 }
433 for (LArDigitContainer::const_iterator digit = larDigitContainer->begin(); digit != larDigitContainer->end(); ++digit) {
434
435 HWIdentifier channelID = (*digit)->hardwareID();
436
437 if (cabling->isOnlineConnected(channelID)) {
438
439 CaloGain::CaloGain gain=(*digit)->gain();
440
441 float pedestal = m_larPedestal->pedestal(channelID, gain);
442
443 m_OffId_conv = (int)(cabling->cnvToIdentifier(channelID).get_identifier32().get_compact());
444
445 const std::vector<short>& samples = (*digit)->samples();
446
447 m_isample=0;
448 for (short sample : samples) {
449 m_isample++;
450 if (lumi->lbLuminosityPerBCIDVector().at(m_closestBC)!=0){
451 m_TProfpulse_diff->Fill(m_mindist+m_isample, (sample-pedestal)/lumi->lbLuminosityPerBCIDVector().at(m_closestBC));//+0,1,2,3
452 m_cellHistos[m_OffId_conv]->Fill(m_mindist+m_isample, (sample-pedestal)/lumi->lbLuminosityPerBCIDVector().at(m_closestBC));
453 }
454 } //loop over samples
455 }
456 }
457
458 }//trigger
459 return StatusCode::SUCCESS;
460}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_WARNING(x)
const ServiceHandle< StoreGateSvc > & detStore() const
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
bool empty() const noexcept
Returns true if the collection is empty.
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
std::map< int, TProfile * > m_cellHistos
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
TProfile * m_TProfpulse_diff
const ILArPedestal * m_larPedestal
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ 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

◆ initialize()

StatusCode LArPulseShape::initialize ( )
overridevirtual

Definition at line 29 of file LArPulseShape.cxx.

29 {
30 const CaloIdManager* caloIdMgr{nullptr};
31 ATH_CHECK( detStore()->retrieve( caloIdMgr ) );
32 m_calo_id = caloIdMgr->getCaloCell_ID();
33
34 ATH_CHECK( m_lumiDataKey.initialize() );
35
36 ATH_CHECK( m_cablingKey.initialize() );
37
38 ATH_CHECK( m_BCKey.initialize() );
39
40 ATH_CHECK( m_trigDec.retrieve() );
41
42 if (m_ntpath.empty() || m_ntTitle.empty()) {
43 ATH_MSG_ERROR( "Need to set variable 'm_ntpath' and 'm_ntTitle' in constructor of deriving class!" );
44 return StatusCode::FAILURE;
45 }
46
47 size_t i=m_ntpath.rfind('/');
48 if (i==std::string::npos) {
49 ATH_MSG_ERROR( "Expected at least on '/' in path " << m_ntpath );
50 return StatusCode::FAILURE;
51 }
52 std::string basepath(m_ntpath.begin(),m_ntpath.begin()+i);
53
54 NTupleFilePtr PULSE(ntupleSvc(),basepath);
55 if (!PULSE){
56 ATH_MSG_ERROR( "Could not get NTupleFilePtr with path " << basepath << " failed" );
57 return StatusCode::FAILURE;
58 }
59 NTuplePtr nt(ntupleSvc(),m_ntpath);
60 if (!nt) {
61 nt=ntupleSvc()->book(m_ntpath,CLID_ColumnWiseTuple,m_ntTitle);
62 }
63 if (!nt){
64 ATH_MSG_ERROR( "Booking of NTuple at "<< m_ntpath << " and name " << m_ntTitle << " failed" );
65 return StatusCode::FAILURE;
66 }
67
68 m_nt=nt;
69
70 int ncell=m_calo_id->calo_cell_hash_max();
71
72 for (int i=0;i<ncell;i++) { // loop over cells to book profiles
73
74 IdentifierHash idHash=i;
75 Identifier id=m_calo_id->cell_id(idHash);
76
77 const int sampl = m_calo_id->sampling( id );
78 m_OffId = (int)(id.get_identifier32().get_compact());
79 std::string idoff_str = std::to_string(m_OffId);
80 const char* id_char = (idoff_str).c_str();
81
82 if (m_calo_id->is_em(id)) { // EM calo
83 if (m_calo_id->is_em_barrel(id)) { //EMB
84 if (m_calo_id->pos_neg(id) > 0 ) { //A-side
85
86 SmartDataPtr<NTuple::Directory> dir_EMBA(ntupleSvc(),"/NTUPLES/PULSE/EMBA");
87 if ( !dir_EMBA ) dir_EMBA = ntupleSvc()->createDirectory(PULSE,"EMBA");
88 if ( !dir_EMBA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
89
90 if (sampl==0){ // if it's EMBA Presampler
91 SmartDataPtr<NTuple::Directory> dir_EMBA_0(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Presampler");
92 if ( !dir_EMBA_0 ) dir_EMBA_0 = ntupleSvc()->createDirectory(PULSE,"EMBA/Presampler");
93 if ( !dir_EMBA_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
94 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
95 }
96
97 if (sampl==1){ // if it's EMBA Sampling1
98 SmartDataPtr<NTuple::Directory> dir_EMBA_1(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Sampling1");
99 if ( !dir_EMBA_1 ) dir_EMBA_1 = ntupleSvc()->createDirectory(PULSE,"EMBA/Sampling1");
100 if ( !dir_EMBA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
101 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
102 }
103
104 if (sampl==2){ // if it's EMBA Sampling2
105 SmartDataPtr<NTuple::Directory> dir_EMBA_2(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Sampling2");
106 if ( !dir_EMBA_2 ) dir_EMBA_2 = ntupleSvc()->createDirectory(PULSE,"EMBA/Sampling2");
107 if ( !dir_EMBA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
108 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
109 }
110
111 if (sampl==3){ // if it's EMBA Sampling3
112 SmartDataPtr<NTuple::Directory> dir_EMBA_3(ntupleSvc(),"/NTUPLES/PULSE/EMBA/Sampling3");
113 if ( !dir_EMBA_3 ) dir_EMBA_3 = ntupleSvc()->createDirectory(PULSE,"EMBA/Sampling3");
114 if ( !dir_EMBA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
115 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
116 }
117
118 } else { // C-side
119
120 SmartDataPtr<NTuple::Directory> dir_EMBC(ntupleSvc(),"/NTUPLES/PULSE/EMBC");
121 if ( !dir_EMBC ) dir_EMBC = ntupleSvc()->createDirectory(PULSE,"EMBC");
122 if ( !dir_EMBC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
123 if (sampl==0){ // if it's EMBC Presampler
124 SmartDataPtr<NTuple::Directory> dir_EMBC_0(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Presampler");
125 if ( !dir_EMBC_0 ) dir_EMBC_0 = ntupleSvc()->createDirectory(PULSE,"EMBC/Presampler");
126 if ( !dir_EMBC_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
127 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
128 }
129
130 if (sampl==1){ // if it's EMBC Sampling1
131 SmartDataPtr<NTuple::Directory> dir_EMBC_1(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Sampling1");
132 if ( !dir_EMBC_1 ) dir_EMBC_1 = ntupleSvc()->createDirectory(PULSE,"EMBC/Sampling1");
133 if ( !dir_EMBC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
134 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
135 }
136
137 if (sampl==2){ // if it's EMBC Sampling2
138 SmartDataPtr<NTuple::Directory> dir_EMBC_2(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Sampling2");
139 if ( !dir_EMBC_2 ) dir_EMBC_2 = ntupleSvc()->createDirectory(PULSE,"EMBC/Sampling2");
140 if ( !dir_EMBC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
141 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
142 }
143
144 if (sampl==3){ // if it's EMBC Sampling3
145 SmartDataPtr<NTuple::Directory> dir_EMBC_3(ntupleSvc(),"/NTUPLES/PULSE/EMBC/Sampling3");
146 if ( !dir_EMBC_3 ) dir_EMBC_3 = ntupleSvc()->createDirectory(PULSE,"EMBC/Sampling3");
147 if ( !dir_EMBC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
148 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
149 }
150
151 }
152
153 } // end EMB
154
155 if( m_calo_id->is_em_endcap(id) ){ //EMEC
156
157 if (m_calo_id->pos_neg(id) > 0 ) { //A-side
158
159 SmartDataPtr<NTuple::Directory> dir_EMECA(ntupleSvc(),"/NTUPLES/PULSE/EMECA");
160 if ( !dir_EMECA ) dir_EMECA = ntupleSvc()->createDirectory(PULSE,"EMECA");
161 if ( !dir_EMECA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
162
163 if (sampl==0){ // if it's EMECA Presampler
164 SmartDataPtr<NTuple::Directory> dir_EMECA_0(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Presampler");
165 if ( !dir_EMECA_0 ) dir_EMECA_0 = ntupleSvc()->createDirectory(PULSE,"EMECA/Presampler");
166 if ( !dir_EMECA_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
167
168 //stopper++;
169 //if (stopper<=10)
170 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
171 }
172
173 if (sampl==1){ // if it's EMECA Sampling1
174 SmartDataPtr<NTuple::Directory> dir_EMECA_1(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Sampling1");
175 if ( !dir_EMECA_1 ) dir_EMECA_1 = ntupleSvc()->createDirectory(PULSE,"EMECA/Sampling1");
176 if ( !dir_EMECA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
177 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
178 }
179
180 if (sampl==2){ // if it's EMECA Sampling2
181 SmartDataPtr<NTuple::Directory> dir_EMECA_2(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Sampling2");
182 if ( !dir_EMECA_2 ) dir_EMECA_2 = ntupleSvc()->createDirectory(PULSE,"EMECA/Sampling2");
183 if ( !dir_EMECA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
184 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
185 }
186
187 if (sampl==3){ // if it's EMECA Sampling3
188 SmartDataPtr<NTuple::Directory> dir_EMECA_3(ntupleSvc(),"/NTUPLES/PULSE/EMECA/Sampling3");
189 if ( !dir_EMECA_3 ) dir_EMECA_3 = ntupleSvc()->createDirectory(PULSE,"EMECA/Sampling3");
190 if ( !dir_EMECA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
191 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
192 }
193
194 } else { // C-side
195
196 SmartDataPtr<NTuple::Directory> dir_EMECC(ntupleSvc(),"/NTUPLES/PULSE/EMECC");
197 if ( !dir_EMECC ) dir_EMECC = ntupleSvc()->createDirectory(PULSE,"EMECC");
198 if ( !dir_EMECC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
199 if (sampl==0){ // if it's EMECC Presampler
200 SmartDataPtr<NTuple::Directory> dir_EMECC_0(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Presampler");
201 if ( !dir_EMECC_0 ) dir_EMECC_0 = ntupleSvc()->createDirectory(PULSE,"EMECC/Presampler");
202 if ( !dir_EMECC_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
203 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
204 }
205
206 if (sampl==1){ // if it's EMECC Sampling1
207 SmartDataPtr<NTuple::Directory> dir_EMECC_1(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Sampling1");
208 if ( !dir_EMECC_1 ) dir_EMECC_1 = ntupleSvc()->createDirectory(PULSE,"EMECC/Sampling1");
209 if ( !dir_EMECC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
210 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
211 }
212
213 if (sampl==2){ // if it's EMECC Sampling2
214 SmartDataPtr<NTuple::Directory> dir_EMECC_2(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Sampling2");
215 if ( !dir_EMECC_2 ) dir_EMECC_2 = ntupleSvc()->createDirectory(PULSE,"EMECC/Sampling2");
216 if ( !dir_EMECC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
217 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
218 }
219
220 if (sampl==3){ // if it's EMECC Sampling3
221 SmartDataPtr<NTuple::Directory> dir_EMECC_3(ntupleSvc(),"/NTUPLES/PULSE/EMECC/Sampling3");
222 if ( !dir_EMECC_3 ) dir_EMECC_3 = ntupleSvc()->createDirectory(PULSE,"EMECC/Sampling3");
223 if ( !dir_EMECC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
224 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
225 }
226
227 }
228 } // end EMEC
229
230
231
232 } // end EM calo
233
234 if( m_calo_id->is_hec(id) ){ //HEC
235
236 if (m_calo_id->pos_neg(id) > 0 ) { //A-side
237
238 SmartDataPtr<NTuple::Directory> dir_HECA(ntupleSvc(),"/NTUPLES/PULSE/HECA");
239 if ( !dir_HECA ) dir_HECA = ntupleSvc()->createDirectory(PULSE,"HECA");
240 if ( !dir_HECA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
241
242 if (sampl==0){
243 SmartDataPtr<NTuple::Directory> dir_HECA_0(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer1");
244 if ( !dir_HECA_0 ) dir_HECA_0 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer1");
245 if ( !dir_HECA_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
246 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
247 }
248
249 if (sampl==1){
250 SmartDataPtr<NTuple::Directory> dir_HECA_1(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer2");
251 if ( !dir_HECA_1 ) dir_HECA_1 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer2");
252 if ( !dir_HECA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
253 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
254 }
255
256 if (sampl==2){
257 SmartDataPtr<NTuple::Directory> dir_HECA_2(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer3");
258 if ( !dir_HECA_2 ) dir_HECA_2 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer3");
259 if ( !dir_HECA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
260 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
261 }
262
263 if (sampl==3){
264 SmartDataPtr<NTuple::Directory> dir_HECA_3(ntupleSvc(),"/NTUPLES/PULSE/HECA/Layer4");
265 if ( !dir_HECA_3 ) dir_HECA_3 = ntupleSvc()->createDirectory(PULSE,"HECA/Layer4");
266 if ( !dir_HECA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
267 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
268 }
269
270 } else { // C-side
271
272 SmartDataPtr<NTuple::Directory> dir_HECC(ntupleSvc(),"/NTUPLES/PULSE/HECC");
273 if ( !dir_HECC ) dir_HECC = ntupleSvc()->createDirectory(PULSE,"HECC");
274 if ( !dir_HECC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
275 if (sampl==0){
276 SmartDataPtr<NTuple::Directory> dir_HECC_0(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer1");
277 if ( !dir_HECC_0 ) dir_HECC_0 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer1");
278 if ( !dir_HECC_0 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
279 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
280 }
281
282 if (sampl==1){
283 SmartDataPtr<NTuple::Directory> dir_HECC_1(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer2");
284 if ( !dir_HECC_1 ) dir_HECC_1 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer2");
285 if ( !dir_HECC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
286 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
287 }
288
289 if (sampl==2){
290 SmartDataPtr<NTuple::Directory> dir_HECC_2(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer3");
291 if ( !dir_HECC_2 ) dir_HECC_2 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer3");
292 if ( !dir_HECC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
293 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
294 }
295
296 if (sampl==3){
297 SmartDataPtr<NTuple::Directory> dir_HECC_3(ntupleSvc(),"/NTUPLES/PULSE/HECC/Layer4");
298 if ( !dir_HECC_3 ) dir_HECC_3 = ntupleSvc()->createDirectory(PULSE,"HECC/Layer4");
299 if ( !dir_HECC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
300 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
301 }
302
303 }
304 } // end HEC
305 if( m_calo_id->is_fcal(id) ){ //FCAL
306
307 if (m_calo_id->pos_neg(id) > 0 ) { //A-side
308
309 SmartDataPtr<NTuple::Directory> dir_FCALA(ntupleSvc(),"/NTUPLES/PULSE/FCALA");
310 if ( !dir_FCALA ) dir_FCALA = ntupleSvc()->createDirectory(PULSE,"FCALA");
311 if ( !dir_FCALA ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
312
313 if (sampl==1){ // if it's FCALA Sampling1
314 SmartDataPtr<NTuple::Directory> dir_FCALA_1(ntupleSvc(),"/NTUPLES/PULSE/FCALA/Sampling1");
315 if ( !dir_FCALA_1 ) dir_FCALA_1 = ntupleSvc()->createDirectory(PULSE,"FCALA/Sampling1");
316 if ( !dir_FCALA_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
317 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
318 }
319
320 if (sampl==2){ // if it's FCALA Sampling2
321 SmartDataPtr<NTuple::Directory> dir_FCALA_2(ntupleSvc(),"/NTUPLES/PULSE/FCALA/Sampling2");
322 if ( !dir_FCALA_2 ) dir_FCALA_2 = ntupleSvc()->createDirectory(PULSE,"FCALA/Sampling2");
323 if ( !dir_FCALA_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
324 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
325 }
326
327 if (sampl==3){ // if it's FCALA Sampling3
328 SmartDataPtr<NTuple::Directory> dir_FCALA_3(ntupleSvc(),"/NTUPLES/PULSE/FCALA/Sampling3");
329 if ( !dir_FCALA_3 ) dir_FCALA_3 = ntupleSvc()->createDirectory(PULSE,"FCALA/Sampling3");
330 if ( !dir_FCALA_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
331 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
332 }
333
334 } else { // C-side
335
336 SmartDataPtr<NTuple::Directory> dir_FCALC(ntupleSvc(),"/NTUPLES/PULSE/FCALC");
337 if ( !dir_FCALC ) dir_FCALC = ntupleSvc()->createDirectory(PULSE,"FCALC");
338 if ( !dir_FCALC ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
339
340 if (sampl==1){ // if it's FCALC Sampling1
341 SmartDataPtr<NTuple::Directory> dir_FCALC_1(ntupleSvc(),"/NTUPLES/PULSE/FCALC/Sampling1");
342 if ( !dir_FCALC_1 ) dir_FCALC_1 = ntupleSvc()->createDirectory(PULSE,"FCALC/Sampling1");
343 if ( !dir_FCALC_1 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
344 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
345 }
346
347 if (sampl==2){ // if it's FCALC Sampling2
348 SmartDataPtr<NTuple::Directory> dir_FCALC_2(ntupleSvc(),"/NTUPLES/PULSE/FCALC/Sampling2");
349 if ( !dir_FCALC_2 ) dir_FCALC_2 = ntupleSvc()->createDirectory(PULSE,"FCALC/Sampling2");
350 if ( !dir_FCALC_2 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
351 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
352 }
353
354 if (sampl==3){ // if it's FCALC Sampling3
355 SmartDataPtr<NTuple::Directory> dir_FCALC_3(ntupleSvc(),"/NTUPLES/PULSE/FCALC/Sampling3");
356 if ( !dir_FCALC_3 ) dir_FCALC_3 = ntupleSvc()->createDirectory(PULSE,"FCALC/Sampling3");
357 if ( !dir_FCALC_3 ) ATH_MSG_ERROR ( " failed to get ntuple directory" );
358 m_cellHistos.insert(std::make_pair(m_OffId, new TProfile(id_char, id_char, 40, -4 , 36, "s" )));
359 }
360 }
361 } // end FCAL
362
363 } // loop over cells
364
365 SmartDataPtr<NTuple::Directory> dir_FCALC_3(ntupleSvc(),"/NTUPLES/PULSE/Check");
366 if ( !dir_FCALC_3 ) dir_FCALC_3 = ntupleSvc()->createDirectory(PULSE,"Check");
367
368 m_TProfpulse_diff = new TProfile("test_diff", "test_diff",500, 0, 500, "s");
369
370 m_BCID = new TH1D("BCID", "BCID",3564, 0, 3564);
371 m_diffBCID = new TH1D("diffBCID", "BCID",3564, 0, 3564);
372 m_actualInt = new TH1D("ActualInt", "ActInt", 60, 0, 20);
373
375
379 m_initialized=true;
380 return StatusCode::SUCCESS;
381}
INTupleSvc * ntupleSvc()
const CaloCell_ID * getCaloCell_ID(void) const
Access to IdHelper.
void addHistogram(TH1 *h)
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey

◆ 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 LArPulseShape::stop ( )
overridevirtual

Definition at line 463 of file LArPulseShape.cxx.

463 {
464
465 ATH_MSG_INFO( "LArPulseShape has finished." );
466 return StatusCode::SUCCESS;
467
468}// end finalize-method.
#define ATH_MSG_INFO(x)

◆ 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}
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

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

◆ TCellbegin()

std::map< int, TProfile * >::const_iterator LArPulseShape::TCellbegin ( ) const
inline

Definition at line 52 of file LArPulseShape.h.

52{ return m_cellHistos.begin(); }

◆ TCellend()

std::map< int, TProfile * >::const_iterator LArPulseShape::TCellend ( ) const
inline

Definition at line 53 of file LArPulseShape.h.

53{ return m_cellHistos.end(); }

◆ TEffbegin()

std::map< std::string, TProfile * >::const_iterator LArPulseShape::TEffbegin ( ) const
inline

Definition at line 50 of file LArPulseShape.h.

50{ return m_effhistos.begin(); }

◆ TEffend()

std::map< std::string, TProfile * >::const_iterator LArPulseShape::TEffend ( ) const
inline

Definition at line 51 of file LArPulseShape.h.

51{ return m_effhistos.end(); }

◆ THbegin()

std::map< std::string, TH1 * >::const_iterator LArPulseShape::THbegin ( ) const
inline

Definition at line 55 of file LArPulseShape.h.

55{ return m_histos.begin(); }

◆ THend()

std::map< std::string, TH1 * >::const_iterator LArPulseShape::THend ( ) const
inline

Definition at line 56 of file LArPulseShape.h.

56{ return m_histos.end(); }

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

TH1D* LArPulseShape::m_actualInt = nullptr
private

Definition at line 87 of file LArPulseShape.h.

◆ m_addBC

bool LArPulseShape::m_addBC = false
protected

Definition at line 98 of file LArPulseShape.h.

◆ m_addFEBTemp

bool LArPulseShape::m_addFEBTemp = false
protected

Definition at line 98 of file LArPulseShape.h.

◆ m_addHash

bool LArPulseShape::m_addHash = false
protected

Definition at line 125 of file LArPulseShape.h.

◆ m_badChanWord

NTuple::Item<long> LArPulseShape::m_badChanWord
protected

Definition at line 109 of file LArPulseShape.h.

◆ m_barrel_ec

NTuple::Item<long> LArPulseShape::m_barrel_ec
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_BCID

TH1D* LArPulseShape::m_BCID = nullptr
private

Definition at line 85 of file LArPulseShape.h.

◆ m_BCKey

SG::ReadCondHandleKey<LArBadChannelCont> LArPulseShape::m_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
private

Definition at line 77 of file LArPulseShape.h.

77{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArPulseShape::m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
private

Definition at line 76 of file LArPulseShape.h.

76{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};

◆ m_calibLine

NTuple::Item<long> LArPulseShape::m_calibLine
protected

Definition at line 109 of file LArPulseShape.h.

◆ m_calo_id

const CaloCell_ID* LArPulseShape::m_calo_id
private

Definition at line 62 of file LArPulseShape.h.

◆ m_caloId

const CaloCell_ID* LArPulseShape::m_caloId = nullptr
protected

Definition at line 120 of file LArPulseShape.h.

◆ m_cellHistos

std::map<int, TProfile*> LArPulseShape::m_cellHistos
private

Definition at line 82 of file LArPulseShape.h.

◆ m_chanHash

NTuple::Item<long> LArPulseShape::m_chanHash
protected

Definition at line 111 of file LArPulseShape.h.

◆ m_channel

NTuple::Item<long> LArPulseShape::m_channel
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_closestBC

int LArPulseShape::m_closestBC = 0
private

Definition at line 71 of file LArPulseShape.h.

◆ m_detector

NTuple::Item<long> LArPulseShape::m_detector
protected

Definition at line 107 of file LArPulseShape.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_diffBCID

TH1D* LArPulseShape::m_diffBCID = nullptr
private

Definition at line 86 of file LArPulseShape.h.

◆ m_effhistos

std::map<std::string, TProfile*> LArPulseShape::m_effhistos
private

Definition at line 81 of file LArPulseShape.h.

◆ m_emId

const LArEM_Base_ID* LArPulseShape::m_emId = nullptr
protected

Definition at line 116 of file LArPulseShape.h.

◆ m_eta

NTuple::Item<long> LArPulseShape::m_eta
protected

Definition at line 107 of file LArPulseShape.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_fcalId

const LArFCAL_Base_ID* LArPulseShape::m_fcalId = nullptr
protected

Definition at line 118 of file LArPulseShape.h.

◆ m_febHash

NTuple::Item<long> LArPulseShape::m_febHash
protected

Definition at line 111 of file LArPulseShape.h.

◆ m_FEBTemp1

NTuple::Item<float> LArPulseShape::m_FEBTemp1
protected

Definition at line 113 of file LArPulseShape.h.

◆ m_FEBTemp2

NTuple::Item<float> LArPulseShape::m_FEBTemp2
protected

Definition at line 113 of file LArPulseShape.h.

◆ m_folder

std::string LArPulseShape::m_folder
private

Definition at line 61 of file LArPulseShape.h.

◆ m_FT

NTuple::Item<long> LArPulseShape::m_FT
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_hecId

const LArHEC_Base_ID* LArPulseShape::m_hecId = nullptr
protected

Definition at line 117 of file LArPulseShape.h.

◆ m_histos

std::map<std::string, TH1*> LArPulseShape::m_histos
private

Definition at line 84 of file LArPulseShape.h.

◆ m_initialized

bool LArPulseShape::m_initialized
private

Definition at line 59 of file LArPulseShape.h.

◆ m_isample

int LArPulseShape::m_isample = 0
private

Definition at line 69 of file LArPulseShape.h.

◆ m_isConnected

NTuple::Item<long> LArPulseShape::m_isConnected
protected

Definition at line 110 of file LArPulseShape.h.

◆ m_isFlat

bool LArPulseShape::m_isFlat = false
protected

Definition at line 123 of file LArPulseShape.h.

◆ m_isSC

bool LArPulseShape::m_isSC = false
protected

Definition at line 122 of file LArPulseShape.h.

◆ m_larPedestal

const ILArPedestal* LArPulseShape::m_larPedestal = nullptr
private

Definition at line 79 of file LArPulseShape.h.

◆ m_layer

NTuple::Item<long> LArPulseShape::m_layer
protected

Definition at line 107 of file LArPulseShape.h.

◆ m_lumiDataKey

SG::ReadCondHandleKey<LuminosityCondData> LArPulseShape::m_lumiDataKey {this,"LumiKey", "LuminosityCondData","SG Key of LuminosityCondData object"}
private

Definition at line 75 of file LArPulseShape.h.

75{this,"LumiKey", "LuminosityCondData","SG Key of LuminosityCondData object"};

◆ m_mindist

int LArPulseShape::m_mindist = 0
private

Definition at line 70 of file LArPulseShape.h.

◆ m_nt

NTuple::Tuple* LArPulseShape::m_nt
protected

Definition at line 104 of file LArPulseShape.h.

◆ m_ntname

std::string LArPulseShape::m_ntname
private

Definition at line 60 of file LArPulseShape.h.

◆ m_ntpath

std::string LArPulseShape::m_ntpath
protected

Definition at line 101 of file LArPulseShape.h.

◆ m_ntTitle

std::string LArPulseShape::m_ntTitle
protected

Definition at line 101 of file LArPulseShape.h.

◆ m_OffId

int LArPulseShape::m_OffId = 0
private

Definition at line 67 of file LArPulseShape.h.

◆ m_OffId_conv

int LArPulseShape::m_OffId_conv = 0
private

Definition at line 68 of file LArPulseShape.h.

◆ m_oflChanId

NTuple::Item<long> LArPulseShape::m_oflChanId
protected

Definition at line 107 of file LArPulseShape.h.

◆ m_oflHash

NTuple::Item<long> LArPulseShape::m_oflHash
protected

Definition at line 111 of file LArPulseShape.h.

◆ m_onlChanId

NTuple::Item<long> LArPulseShape::m_onlChanId
protected

Definition at line 107 of file LArPulseShape.h.

◆ m_onlineId

const LArOnlineID_Base* LArPulseShape::m_onlineId = nullptr
protected

Definition at line 119 of file LArPulseShape.h.

◆ m_peakSample

NTuple::Item<short> LArPulseShape::m_peakSample
private

Definition at line 63 of file LArPulseShape.h.

◆ m_phi

NTuple::Item<long> LArPulseShape::m_phi
protected

Definition at line 107 of file LArPulseShape.h.

◆ m_pos_neg

NTuple::Item<long> LArPulseShape::m_pos_neg
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_region

NTuple::Item<long> LArPulseShape::m_region
protected

Definition at line 107 of file LArPulseShape.h.

◆ m_slot

NTuple::Item<long> LArPulseShape::m_slot
protected

Definition at line 108 of file LArPulseShape.h.

◆ m_TProfpulse_diff

TProfile* LArPulseShape::m_TProfpulse_diff = nullptr
private

Definition at line 83 of file LArPulseShape.h.

◆ m_trigDec

PublicToolHandle<Trig::TrigDecisionTool> LArPulseShape::m_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
private

Definition at line 73 of file LArPulseShape.h.

73{this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"};

◆ m_useHgIntercept

NTuple::Item<short> LArPulseShape::m_useHgIntercept
private

Definition at line 64 of file LArPulseShape.h.

◆ m_useLgIntercept

NTuple::Item<short> LArPulseShape::m_useLgIntercept
private

Definition at line 66 of file LArPulseShape.h.

◆ m_useMgIntercept

NTuple::Item<short> LArPulseShape::m_useMgIntercept
private

Definition at line 65 of file LArPulseShape.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: