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

#include <LArTimePhysPrediction.h>

Inheritance diagram for LArTimePhysPrediction:
Collaboration diagram for LArTimePhysPrediction:

Public Member Functions

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

ServiceHandle< ITHistSvc > m_thistSvc {this,"THistSvc","THistSvc"}
std::string m_keyoutput
std::string m_keyinput
std::string m_groupingType
std::string m_CaloDepth
CaloDepthToolm_CaloDepthTool
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< LArCalibLineMappingm_calibMapKey {this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"}
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
int m_nchannels_max
std::vector< std::vector< double > > m_vLCalib_EMB
std::vector< double > m_vEtaMin_EMB
std::vector< double > m_vEtaMax_EMB
double m_vLCalib_EMEC
double m_vLCalib_HEC
std::vector< std::vector< double > > m_vLSignal_EMB
double m_vLSignal_EMEC
double m_vLSignal_HEC
std::vector< double > m_vLSignal_FCAL
std::vector< std::vector< double > > m_vDeltaTTC_EMB
std::vector< std::vector< double > > m_vDeltaTTC_EC
std::vector< std::vector< double > > m_vDeltaTTC_ECC_SPEC
std::vector< std::vector< double > > m_vDeltaTTC_ECA_SPEC
double m_sCalib
double m_sSignal
double m_sPig
double m_sLTP
NTuple::Tuple * m_nt
NTuple::Item< long > m_Chid
NTuple::Item< long > m_Channel
NTuple::Item< long > m_CalibLine
NTuple::Item< long > m_is_lar_em
NTuple::Item< long > m_is_lar_hec
NTuple::Item< long > m_is_lar_fcal
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_FEBid
NTuple::Item< long > m_eta
NTuple::Item< long > m_phi
NTuple::Item< long > m_layer
NTuple::Item< double > m_real_eta
NTuple::Item< double > m_real_phi
NTuple::Item< double > m_t0
NTuple::Item< double > m_tcali
NTuple::Item< double > m_tCalibPredicted
NTuple::Item< double > m_CalibCables
NTuple::Item< double > m_SignalCables
NTuple::Item< double > m_TOF
NTuple::Item< double > m_DeltaTTC
NTuple::Item< double > m_tPhysPredicted
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 23 of file LArTimePhysPrediction.h.

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

◆ LArTimePhysPrediction()

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

Definition at line 28 of file LArTimePhysPrediction.cxx.

28 :
29 AthAlgorithm(name, pSvcLocator),
30 m_CaloDepthTool(nullptr),
31 m_nt(nullptr)
32{
33 declareProperty("KeyInput", m_keyinput="LArCaliWave");
34 declareProperty("KeyOutput", m_keyoutput="LArPhysCaliTdiff");
35 declareProperty("vLCalib_EMB",m_vLCalib_EMB);
36 declareProperty("vEtaMin_EMB",m_vEtaMin_EMB);
37 declareProperty("vEtaMax_EMB",m_vEtaMax_EMB);
38 declareProperty("vLCalib_EMEC",m_vLCalib_EMEC = 0);
39 declareProperty("vLCalib_HEC",m_vLCalib_HEC = 0);
40 declareProperty("vLSignal_EMB",m_vLSignal_EMB);
41 declareProperty("vLSignal_EMEC",m_vLSignal_EMEC = 0);
42 declareProperty("vLSignal_HEC",m_vLSignal_HEC = 0);
43 declareProperty("vLSignal_FCAL",m_vLSignal_FCAL);
44 declareProperty("vDeltaTTC_EMB",m_vDeltaTTC_EMB);
45 declareProperty("vDeltaTTC_EC",m_vDeltaTTC_EC);
46 declareProperty("vDeltaTTC_ECC_SPEC",m_vDeltaTTC_ECC_SPEC);
47 declareProperty("vDeltaTTC_ECA_SPEC",m_vDeltaTTC_ECA_SPEC);
48 declareProperty("sCalib",m_sCalib=5.5);
49 declareProperty("sSignal",m_sSignal=5.5);
50 declareProperty("sPig",m_sPig=5.5);
51 declareProperty("sLTP",m_sLTP=5.5);
52 declareProperty("nchannels_max",m_nchannels_max=1000000);
53 declareProperty("GroupingType",m_groupingType="SubDetector");
54}
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
std::vector< std::vector< double > > m_vDeltaTTC_EMB
std::vector< std::vector< double > > m_vDeltaTTC_ECA_SPEC
std::vector< double > m_vEtaMin_EMB
std::vector< std::vector< double > > m_vLSignal_EMB
std::vector< std::vector< double > > m_vDeltaTTC_ECC_SPEC
std::vector< std::vector< double > > m_vLCalib_EMB
std::vector< double > m_vEtaMax_EMB
std::vector< std::vector< double > > m_vDeltaTTC_EC
std::vector< double > m_vLSignal_FCAL

◆ ~LArTimePhysPrediction()

LArTimePhysPrediction::~LArTimePhysPrediction ( )
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()

virtual StatusCode LArTimePhysPrediction::execute ( )
inlineoverridevirtual

Definition at line 33 of file LArTimePhysPrediction.h.

33{ return StatusCode::SUCCESS; }

◆ 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 LArTimePhysPrediction::initialize ( )
overridevirtual

Definition at line 59 of file LArTimePhysPrediction.cxx.

60{
61 ATH_MSG_INFO ( "LArTimePhysPrediction in initialize()" );
62 ATH_CHECK( m_thistSvc.retrieve() );
63
64 ATH_CHECK( m_cablingKey.initialize() );
65 ATH_CHECK( m_calibMapKey.initialize() );
66 ATH_CHECK( m_caloMgrKey.initialize() );
67
68 //Initialize ntuples
69 NTupleFilePtr file1(ntupleSvc(),"/NTUPLES/FILE1");
70 if (!file1){
71 ATH_MSG_ERROR ( "Could not get NTupleFilePtr: failed" );
72 return StatusCode::FAILURE;
73 }
74 NTuplePtr nt(ntupleSvc(),"/NTUPLES/FILE1/MyNtuple");
75 if (!nt) {
76 nt=ntupleSvc()->book("/NTUPLES/FILE1/MyNtuple",CLID_ColumnWiseTuple,"Timing ntuple");
77 }
78 if (!nt){
79 ATH_MSG_ERROR ( "Booking of NTuple failed" );
80 return StatusCode::FAILURE;
81 }
82
83 m_nt=nt;
84
85 //Book leaves
86 ATH_CHECK( nt->addItem("Chid",m_Chid) );
87 ATH_CHECK( nt->addItem("Channel",m_Channel) );
88 ATH_CHECK( nt->addItem("CalibLine",m_CalibLine) );
89 ATH_CHECK( nt->addItem("is_lar_em",m_is_lar_em) );
90 ATH_CHECK( nt->addItem("is_lar_hec",m_is_lar_hec) );
91 ATH_CHECK( nt->addItem("is_lar_fcal",m_is_lar_fcal) );
92 ATH_CHECK( nt->addItem("pos_neg",m_pos_neg) );
93 ATH_CHECK( nt->addItem("barrel_ec",m_barrel_ec) );
94 ATH_CHECK( nt->addItem("FT",m_FT) );
95 ATH_CHECK( nt->addItem("FEBid",m_FEBid) );
96 ATH_CHECK( nt->addItem("slot",m_slot) );
97 ATH_CHECK( nt->addItem("eta",m_eta) );
98 ATH_CHECK( nt->addItem("phi",m_phi) );
99 ATH_CHECK( nt->addItem("layer",m_layer) );
100 ATH_CHECK( nt->addItem("real_eta",m_real_eta) );
101 ATH_CHECK( nt->addItem("real_phi",m_real_phi) );
102 ATH_CHECK( nt->addItem("t0",m_t0) );
103 ATH_CHECK( nt->addItem("tcali",m_tcali) );
104 ATH_CHECK( nt->addItem("tCalibPredicted",m_tCalibPredicted) );
105 ATH_CHECK( nt->addItem("CalibCables",m_CalibCables) );
106 ATH_CHECK( nt->addItem("SignalCables",m_SignalCables) );
107 ATH_CHECK( nt->addItem("TOF",m_TOF) );
108 ATH_CHECK( nt->addItem("DeltaTTC",m_DeltaTTC) );
109 ATH_CHECK( nt->addItem("tPhysPredicted",m_tPhysPredicted) );
110
111 return StatusCode::SUCCESS;
112}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
INTupleSvc * ntupleSvc()
NTuple::Item< double > m_TOF
NTuple::Item< double > m_real_phi
NTuple::Item< double > m_SignalCables
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
NTuple::Item< double > m_CalibCables
NTuple::Item< double > m_t0
NTuple::Item< long > m_is_lar_em
NTuple::Item< long > m_is_lar_hec
NTuple::Item< long > m_layer
NTuple::Item< double > m_DeltaTTC
NTuple::Item< long > m_phi
NTuple::Item< long > m_barrel_ec
NTuple::Item< long > m_pos_neg
NTuple::Item< long > m_eta
NTuple::Item< long > m_slot
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
NTuple::Item< double > m_real_eta
NTuple::Item< long > m_FEBid
NTuple::Item< double > m_tPhysPredicted
NTuple::Item< long > m_Channel
NTuple::Item< double > m_tCalibPredicted
NTuple::Item< long > m_Chid
NTuple::Item< long > m_is_lar_fcal
NTuple::Item< double > m_tcali
ServiceHandle< ITHistSvc > m_thistSvc
NTuple::Item< long > m_FT
NTuple::Item< long > m_CalibLine

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

std::cout << "for a given (GAIN-CHANNEL-DAC) " << std::endl; std::cout << "chid " << chid << std::endl; std::cout << "Channel " << Channel << std::endl; std::cout << "CalibLine " << CalibLine << std::endl; std::cout << "channel_eta " << eta << std::endl; std::cout << "real_eta " << real_eta << std::endl; std::cout << "channel_phi " << phi << std::endl; std::cout << "real_phi " << real_phi << std::endl; std::cout << "sample " << sample << std::endl; std::cout << "layer " << layer << std::endl; std::cout << "barrel_ec " << barrel_ec << std::endl;
std::cout << "pos_neg " << pos_neg << std::endl;
std::cout << "FT " << FT << std::endl; std::cout << "FEBid " << m_FEBid << std::endl; std::cout << "Slot " << slot << std::endl; std::cout << "radius " << radius << std::endl; std::cout << "tcali " << tcali << std::endl; std::cout << "tcalipredicted " << m_tCalibPredicted << std::endl; std::cout << "CalibCables " << CalibCables << std::endl; std::cout << "Signal " << m_SignalCables << std::endl; std::cout << "TOF " << TOF << std::endl; std::cout << "DeltaTTC " << DeltaTTC << std::endl; std::cout << "tphys " << tphys << std::endl; std::cout << "t0 " << t0 << std::endl; time difference between calibration and physics can be easily computed: tdiff=tphys-tcali;

sc = detStore->record(larPhysCaliTdiffComplete,m_keyoutput); if (sc != StatusCode::SUCCESS) { log << MSG::ERROR
<< " Cannot store LArPhysCaliTdiffComplete in TDS " << endmsg; return sc; } Make symlink sc = detStore->symLink(larPhysCaliTdiffComplete,(ILArPhysCaliTdiff*)larPhysCaliTdiffComplete); if (sc != StatusCode::SUCCESS) { log << MSG::ERROR << " Cannot make link for Data Object " << endmsg; return sc; }

Definition at line 114 of file LArTimePhysPrediction.cxx.

115{
116 ATH_MSG_INFO ( "LArTimePhysPrediction in stop()" );
117 //Intermediate variables declaration (should be removed in an updated version)
118 const double meter2ns = 3.33564095;
119 int Channel;
120 int CalibLine;
121 double tphys;
122 double tcali;
123 double dt;
124 double TOF;
125 double CalibCables=0;
126 double LSignalFCAL=0;
127 double DeltaTTC;
128 double t0;
129 int barrel_ec;
130 int layer;
131 int eta;
132 int phi;
133 int FT;
134 int slot;
135 int pos_neg;
136 double real_eta;
137 double real_phi;
138 double radius=0;
139
140 //Retrieve the LArCaliwaveContainer
141 const LArCaliWaveContainer* larCaliWaveContainer = nullptr;
142 ATH_CHECK( detStore()->retrieve(larCaliWaveContainer, m_keyinput) );
143 ATH_MSG_INFO ( "Loaded LArCaliWaveContainer with key = " << m_keyinput );
144
145 //Create the LArPhysCaliTdiffComplete object
146 //LArPhysCaliTdiffComplete *larPhysCaliTdiffComplete = new LArPhysCaliTdiffComplete();
147 //ATH_CHECK( larPhysCaliTdiffComplete->setGroupingType(m_groupingType,msg()) );
148 //ATH_CHECK( larPhysCaliTdiffComplete->initialize() );
149
150 IAlgTool* algTool = nullptr;
151 ATH_CHECK( toolSvc()->retrieveTool("CaloDepthTool", algTool, this) );
152 m_CaloDepthTool=dynamic_cast<CaloDepthTool*>(algTool);
153 ATH_MSG_INFO ( "CaloDepthTool retrieved with name " << m_CaloDepth );
154
155 SG::ReadCondHandle<LArCalibLineMapping> clHdl{m_calibMapKey};
156 ATH_CHECK(clHdl.isValid());
157 const LArCalibLineMapping *clCont{*clHdl};
158
159 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
160 ATH_CHECK(cablingHdl.isValid());
161 const LArOnOffIdMapping* cabling{*cablingHdl};
162
163 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey};
164 ATH_CHECK(caloMgrHandle.isValid());
165 const CaloDetDescrManager* caloDDM{*caloMgrHandle};
166
167 //Define helpers
168 LArWaveHelper larWaveHelper;
169
170 const LArOnlineID* onlineHelper = nullptr;
171 ATH_CHECK( detStore()->retrieve(onlineHelper, "LArOnlineID") );
172
173 const CaloCell_ID* caloCID = nullptr;
174 ATH_CHECK( detStore()->retrieve(caloCID, "CaloCell_ID") );
175
176 //Get identifiers
177 const LArEM_ID* emId = caloCID->em_idHelper();
178 const LArHEC_ID* hecId = caloCID->hec_idHelper();
179 const LArFCAL_ID* fcalId = caloCID->fcal_idHelper();
180
181 //------------------------------------------------------------------------------------------------------------------------------
182 //--------------Start to loop on the LArCaliWaveContainer------------------------------------------------------------------------
183 for ( unsigned gain_it = CaloGain::LARHIGHGAIN ; gain_it < CaloGain::LARNGAIN ; ++gain_it ) { // Gains
184
185 CaliCellIt cell_it = larCaliWaveContainer->begin(gain_it) ;
186 CaliCellIt cell_it_e = larCaliWaveContainer->end(gain_it) ;
187
188 if ( cell_it == cell_it_e ) {
189 ATH_MSG_DEBUG ( "LArCaliWaveContainer (key = " << m_keyinput << ") has no wave with gain = " << gain_it );
190 continue;
191 } else {
192 ATH_MSG_INFO ( "Processing LArCaliWaveContainer (key = " << m_keyinput << ") in gain = " << gain_it );
193 }
194
195 //counters for channels and waves
196 int nchannels = 0;
197
198 for ( ; cell_it != cell_it_e; ++cell_it) { // Channels
199
200 if(nchannels==m_nchannels_max){continue;}
201 std::cout << "nchannels " << nchannels << std::endl;
202 nchannels++;
203
204 CaliWaveIt wave_it = cell_it->begin();
205 CaliWaveIt wave_it_e = cell_it->end();
206 if ( wave_it == wave_it_e ) {
207 ATH_MSG_DEBUG ( "Empty channel found..." );
208 continue; // skip empty channels
209 }
210
211 //use HWIdentifier
212 HWIdentifier chid = cell_it.channelId();
213
214 Identifier id;
215
216 try {
217 id = cabling->cnvToIdentifier(chid);
218 } catch ( const LArID_Exception& ) {
219 ATH_MSG_ERROR ( "LArCabling exception caught for channel " << MSG::hex << chid << MSG::dec );
220 continue;
221 }
222
223 Channel = onlineHelper->channel(chid);
224
225 const std::vector<HWIdentifier>& calibLineV = clCont->calibSlotLine(chid);
226 std::vector<HWIdentifier>::const_iterator calibLineIt = calibLineV.begin();
227 CalibLine = onlineHelper->channel(*calibLineIt) ;
228
229 //indexes eta/phi/layer
230 if (emId->is_lar_em(id)) {
231 eta=emId->eta(id);
232 phi=emId->phi(id);
233 layer=emId->sampling(id);}
234 else if (hecId->is_lar_hec(id)) {
235 eta=hecId->eta(id);
236 phi=hecId->phi(id);
237 layer=hecId->sampling(id);}
238 else if (fcalId->is_lar_fcal(id)) {
239 eta=fcalId->eta(id);
240 phi=fcalId->phi(id);
241 layer=fcalId->module(id);}
242 else {
243 ATH_MSG_INFO ( "cell not in the calorimeters " );
244 continue;
245 }
246
247 //identification using the online helper (common to all LAr calorimeters)
248 pos_neg = onlineHelper->pos_neg(chid);
249 barrel_ec = onlineHelper->barrel_ec(chid);
250 FT = onlineHelper->feedthrough(chid);
251 slot = onlineHelper->slot(chid);
252
253 //get the FT online identifier
254 HWIdentifier febid = onlineHelper->feb_Id(chid);
256
257 //real eta and phi: need the hash identifier
258 IdentifierHash theHash = caloCID->calo_cell_hash(id) ;
259 const CaloDetDescrElement* theDDE = caloDDM->get_element(theHash) ;
260
261 if(theDDE==nullptr) {
262 ATH_MSG_INFO ( "CellIndex = " << theHash << " has a DDE pointer NULL " );
263 continue;
264 }
265
266 real_eta = theDDE->eta();
267 real_phi = theDDE->phi();
268 CaloCell_ID::CaloSample sample = theDDE->getSampling();//ok for EMB and EMEC
269 //retrieve/compute the shower depth
270 //use the "best" available parametrisation of the shower depth at the time of development
271 //WARNING: use the CaloDepthTool's convention radius=r(barrel), radius=z(end-cap)
272 //for HEC and FCAL: lengths could be moved in the job options
273 if(emId->is_lar_em(id) && m_CaloDepthTool){
274 radius = CaloDepthTool::cscopt2_parametrized(sample,real_eta,real_phi,caloDDM);
275 }
276 else if(hecId->is_lar_hec(id)){//assumption: "arrival point" = middle of the compartment
277 if(layer==0) radius=4398.;
278 if(layer==1) radius=4806.;
279 if(layer==2) radius=5359.;
280 if(layer==3) radius=5840.;
281 }
282 else if(fcalId->is_lar_fcal(id)){//assumption: "arrival point" = middle of the compartment
283 if(layer==1) {radius=4916.;LSignalFCAL=m_vLSignal_FCAL[0];}
284 if(layer==2) {radius=5366.;LSignalFCAL=m_vLSignal_FCAL[1];}
285 if(layer==3) {radius=5816.;LSignalFCAL=m_vLSignal_FCAL[2];}
286 }
287
288 for ( ; wave_it != wave_it_e; ++wave_it) { // DACs <==> iterator = the caliwave
289
290 //initialize tphys
291 tphys=-999.;
292
293 //----step 1: get the calibration time
294 dt = wave_it->getDt();
295 tcali = dt * larWaveHelper.getMax(*wave_it);
296 //modified version of getT0
297 const unsigned Nbase=5;
298 double rT0=0.;
299 double asamp1=0.;
300 double asamp2=0.;
301 double base = larWaveHelper.getBaseline(*wave_it,Nbase);
302 double amax = larWaveHelper.getMaxAmp(*wave_it);
303 unsigned int imax=larWaveHelper.getMax(*wave_it);
304
305 for (unsigned int i=1; i<imax ; i++) {
306 asamp1=wave_it->getSample(i);
307 asamp2=wave_it->getSample(i-1);
308 if((asamp1-base)>amax*0.10 && (asamp2-base)<amax*0.10)
309 rT0 = i-1+(0.01*amax-(asamp2-base))/(asamp1-asamp2);
310 }
311 t0=rT0;
312
313 //----step 2: compute the TOF
314 if(emId->is_lar_em(id) && barrel_ec==0) TOF = fabs(radius)*TMath::CosH(real_eta)* meter2ns/1000;//EMB
315 else TOF = fabs(radius)/TMath::TanH(fabs(real_eta))* meter2ns/1000;//EC
316
317 //----step 3: deduction of the propagation time due to the propagation of the calibration pulse
318 //from the pulse until the calibration board
319 if(emId->is_lar_em(id) && barrel_ec==0){//EMB
320 for(int ieta=0;ieta<16;ieta++){
321 if(fabs(real_eta)>ieta*0.1 && fabs(real_eta)<(ieta+1)*0.1) CalibCables=0.7*m_sPig+m_vLCalib_EMB[layer][ieta]*m_sCalib;
322 }
323 }
324 else if(emId->is_lar_em(id) && abs(barrel_ec)==1) CalibCables=0.9*m_sPig+m_vLCalib_EMEC*m_sCalib;//EMEC
325 else if(hecId->is_lar_hec(id)) CalibCables=m_vLCalib_HEC*m_sCalib;//HEC
326 else if(fcalId->is_lar_fcal(id)) CalibCables=-LSignalFCAL*m_sSignal;//FCAL
327
328 //----step 4: deduction of the propagation times due to the optical fibers from USA15 to FEC
329 if(emId->is_lar_em(id) && barrel_ec==0){
330 if(pos_neg==1) DeltaTTC=m_vDeltaTTC_EMB[1][FT];//EMBA
331 else DeltaTTC=m_vDeltaTTC_EMB[0][FT];//EMBC
332 }
333 else {
334 if(real_eta>0) DeltaTTC=m_vDeltaTTC_EC[1][FT];//ECA
335 else DeltaTTC=m_vDeltaTTC_EC[0][FT];//ECC
336 //correction for special crates
337 //A FTs 2/3
338 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==2 && real_eta>0 && slot<11) DeltaTTC=m_vDeltaTTC_ECA_SPEC[0][0];
339 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==2 && real_eta>0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==3 && real_eta>0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECA_SPEC[0][1];
340 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==3 && real_eta>0) DeltaTTC=m_vDeltaTTC_ECA_SPEC[0][2];
341 //A FTs 9/10
342 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==9 && real_eta>0 && slot<11) DeltaTTC=m_vDeltaTTC_ECA_SPEC[1][0];
343 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==9 && real_eta>0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==10 && real_eta>0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECA_SPEC[1][1];
344 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==10 && real_eta>0) DeltaTTC=m_vDeltaTTC_ECA_SPEC[1][2];
345 //A FTs 15/16
346 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==15 && real_eta>0 && slot<11) DeltaTTC=m_vDeltaTTC_ECA_SPEC[2][0];
347 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==15 && real_eta>0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==16 && real_eta>0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECA_SPEC[2][1];
348 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==16 && real_eta>0) DeltaTTC=m_vDeltaTTC_ECA_SPEC[2][2];
349 //A FTs 21/22
350 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==21 && real_eta>0 && slot<11) DeltaTTC=m_vDeltaTTC_ECA_SPEC[3][0];
351 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==21 && real_eta>0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==21 && real_eta>0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECA_SPEC[3][1];
352 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==22 && real_eta>0) DeltaTTC=m_vDeltaTTC_ECA_SPEC[3][2];
353 //C FTs 2/3
354 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==2 && real_eta<0 && slot<11) DeltaTTC=m_vDeltaTTC_ECC_SPEC[0][0];
355 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==2 && real_eta<0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==3 && real_eta<0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECC_SPEC[0][1];
356 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==3 && real_eta>0) DeltaTTC=m_vDeltaTTC_ECC_SPEC[0][2];
357 //C FTs 9/10
358 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==9 && real_eta<0 && slot<11) DeltaTTC=m_vDeltaTTC_ECC_SPEC[1][0];
359 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==9 && real_eta<0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==10 && real_eta<0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECC_SPEC[1][1];
360 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==10 && real_eta<0) DeltaTTC=m_vDeltaTTC_ECC_SPEC[1][2];
361 //C FTs 15/16
362 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==15 && real_eta<0 && slot<11) DeltaTTC=m_vDeltaTTC_ECC_SPEC[2][0];
363 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==15 && real_eta<0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==16 && real_eta<0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECC_SPEC[2][1];
364 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==16 && real_eta<0) DeltaTTC=m_vDeltaTTC_ECC_SPEC[2][2];
365 //C FTs 21/22
366 if(emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==21 && real_eta<0 && slot<11) DeltaTTC=m_vDeltaTTC_ECC_SPEC[3][0];
367 if((emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==21 && real_eta<0 && slot>10) || (emId->is_lar_em(id) && abs(barrel_ec)==1 && FT==21 && real_eta<0 && slot<3)) DeltaTTC=m_vDeltaTTC_ECC_SPEC[3][1];
368 if(hecId->is_lar_hec(id) && abs(barrel_ec)==1 && FT==22 && real_eta<0) DeltaTTC=m_vDeltaTTC_ECC_SPEC[3][2];
369 }
370
371 //----step 5: computation of tphys
372 //tphys=tcali-CalibCables+TOF-DeltaTTC;
373 //add the effect from LTP cables: LTPI->LTP and LTP->LTP (hard coded)
374 //for A-C sides difference: a 8 ns is set (derived from September 2008 splash events)
375 if(pos_neg==1 && emId->is_lar_em(id) && abs(barrel_ec)==0) tphys=tcali-CalibCables+TOF+DeltaTTC+8+0.3*m_sLTP;//EMBA
376 else if(pos_neg==0 && emId->is_lar_em(id) && abs(barrel_ec)==0) tphys=tcali-CalibCables+TOF+DeltaTTC+0.3*m_sLTP;//EMBC
377 else if(pos_neg==1 && emId->is_lar_em(id) && abs(barrel_ec)==1) tphys=tcali-CalibCables+TOF+DeltaTTC+8;//EMECA
378 else if(real_eta>0 && (emId->is_lar_hec(id)||emId->is_lar_fcal(id))) tphys=tcali-CalibCables+TOF+DeltaTTC+8+0.3*m_sLTP;//HEC,FCAL A
379 else if(real_eta<0 && (emId->is_lar_hec(id)||emId->is_lar_fcal(id))) tphys=tcali-CalibCables+TOF+DeltaTTC+0.3*m_sLTP;//HEC,FCAL C
380 else tphys=tcali-CalibCables+TOF+DeltaTTC;//EMECC
381
382 //prediction of the expected calibration time
383 //not finalized (EMEC signal cables lengths not implemented)
384 if(emId->is_lar_em(id) && abs(barrel_ec)==0){//EMB
385 for(int ieta=0;ieta<16;ieta++){
386 if(fabs(real_eta)>ieta*0.1 && fabs(real_eta)<(ieta+1)*0.1 && (layer==0 || (layer==1 && fabs(real_eta)<0.6))) m_SignalCables=0.9*m_sPig+m_vLSignal_EMB[layer][ieta]*m_sSignal;
387 else if(fabs(real_eta)>ieta*0.1 && fabs(real_eta)<(ieta+1)*0.1) m_SignalCables=0.7*m_sPig+m_vLSignal_EMB[layer][ieta]*m_sSignal;
388 }
389 }
390 else if(emId->is_lar_em(id) && abs(barrel_ec)==1) m_SignalCables=0.9*m_sPig+m_vLSignal_EMEC*m_sSignal;//EMEC
391 else if(hecId->is_lar_hec(id)) m_SignalCables=m_vLSignal_HEC*m_sSignal;//HEC
392 else if(fcalId->is_lar_fcal(id)) m_SignalCables=0.;//FCAL
393
394 m_tCalibPredicted=m_SignalCables+CalibCables+tcali-t0;
395 if(fcalId->is_lar_fcal(id))m_tCalibPredicted=tcali-t0;
396
397 //fill larPhysCaliTdiffComplete (needed to fill the DB)
398 //larPhysCaliTdiffComplete->set(chid,gain_it,tphys);
399
400 //for debugging purposes: check the computed times
428
429 //write the ntuple
430 if(emId->is_lar_em(id)) m_is_lar_em=1;
431 else m_is_lar_em=0;
432 if(emId->is_lar_hec(id)) m_is_lar_hec=1;
433 else m_is_lar_hec=0;
434 if(emId->is_lar_fcal(id)) m_is_lar_fcal=1;
435 else m_is_lar_fcal=0;
438 m_CalibLine=CalibLine;
439 m_pos_neg=pos_neg;
440 m_barrel_ec=barrel_ec;
441 m_FT=FT;
442 m_slot=slot;
443 m_eta=eta;
444 m_phi=phi;
446 m_real_eta=real_eta;
447 m_real_phi=real_phi;
448 m_t0=t0;
449 m_tcali=tcali;
450 m_CalibCables=CalibCables;
451 m_TOF=TOF;
452 m_DeltaTTC=DeltaTTC;
453 m_tPhysPredicted=tphys;
454 //m_SignalCables: already filled
455 //m_tCalibPredicted: already filled (computation to be finalized)
456
457 ATH_MSG_VERBOSE ( "Try to write to ntuple " );
458 ATH_CHECK( ntupleSvc()->writeRecord(m_nt) );
459 ATH_MSG_VERBOSE ( "wave written to ntuple" );
460 } // end of loop over DACs
461
462 }// end of loop over Channels
463
464 } // end of loop over Gains
465
466 // Record LArPhysCaliTdiffComplete (needed to fill the DB)
484
485 //-----------------------------------end of the main loop-------------------------------------------------------------------------
486 //--------------------------------------------------------------------------------------------------------------------------------
487
488 ATH_MSG_INFO ( "end of stop" );
489 return StatusCode::SUCCESS ;
490}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_DEBUG(x)
LArCaliWaveContainer::LArCaliWaves::const_iterator CaliWaveIt
LArCaliWaveContainer::ConstConditionsMapIterator CaliCellIt
static Double_t t0
int imax(int i, int j)
const ServiceHandle< StoreGateSvc > & detStore() const
bool is_lar_em(Identifier id) const
bool is_lar_fcal(Identifier id) const
bool is_lar_hec(Identifier id) const
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
Definition CaloCell_ID.h:75
CaloSampling::CaloSample CaloSample
Definition CaloCell_ID.h:53
const LArEM_ID * em_idHelper() const
access to EM idHelper
Definition CaloCell_ID.h:63
const LArHEC_ID * hec_idHelper() const
access to HEC idHelper
Definition CaloCell_ID.h:69
static double cscopt2_parametrized(const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
Same as cscopt with the outermost EMB2 point excluded.
CaloCell_ID::CaloSample getSampling() const
cell sampling
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
value_type get_compact() const
Get the compact id.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
const std::vector< HWIdentifier > & calibSlotLine(const HWIdentifier id) const
ConstConditionsMapIterator begin(unsigned int gain) const
get iterator for all channels for a gain
ConstConditionsMapIterator end(unsigned int gain) const
end of all channels for this gain
int eta(const Identifier id) const
return eta according to :
int phi(const Identifier id) const
return phi according to :
int sampling(const Identifier id) const
return sampling according to :
int eta(const Identifier id) const
eta [0,63] module 1 ; [0,31] module 2 ; [0,15] module 3
int phi(const Identifier id) const
phi [0,15]
int phi(const Identifier id) const
return phi[0,63] outer part [0,31] inner part
int eta(const Identifier id) const
return eta [0,9] outer part [0,3] inner part
int sampling(const Identifier id) const
return sampling [0,3] (only 0 for supercells)
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
double getMaxAmp(const LArWave &theWave) const
double getBaseline(const LArWave &theWave, unsigned nBase) const
unsigned int getMax(const LArWave &theWave) const
return index of maximum sample
std::string base
Definition hcg.cxx:81
@ LARNGAIN
Definition CaloGain.h:19
@ LARHIGHGAIN
Definition CaloGain.h:18
Identifier32::value_type Channel
@ layer
Definition HitInfo.h:79
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

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

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

NTuple::Item<long> LArTimePhysPrediction::m_barrel_ec
private

Definition at line 80 of file LArTimePhysPrediction.h.

◆ m_cablingKey

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

Definition at line 44 of file LArTimePhysPrediction.h.

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

◆ m_CalibCables

NTuple::Item<double> LArTimePhysPrediction::m_CalibCables
private

Definition at line 92 of file LArTimePhysPrediction.h.

◆ m_CalibLine

NTuple::Item<long> LArTimePhysPrediction::m_CalibLine
private

Definition at line 75 of file LArTimePhysPrediction.h.

◆ m_calibMapKey

SG::ReadCondHandleKey<LArCalibLineMapping> LArTimePhysPrediction::m_calibMapKey {this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"}
private

Definition at line 45 of file LArTimePhysPrediction.h.

45{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};

◆ m_CaloDepth

std::string LArTimePhysPrediction::m_CaloDepth
private

Definition at line 42 of file LArTimePhysPrediction.h.

◆ m_CaloDepthTool

CaloDepthTool* LArTimePhysPrediction::m_CaloDepthTool
private

Definition at line 43 of file LArTimePhysPrediction.h.

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> LArTimePhysPrediction::m_caloMgrKey
private
Initial value:
{ this
, "CaloDetDescrManager"
, "CaloDetDescrManager"
, "SG Key for CaloDetDescrManager in the Condition Store" }

Definition at line 46 of file LArTimePhysPrediction.h.

46 { this
47 , "CaloDetDescrManager"
48 , "CaloDetDescrManager"
49 , "SG Key for CaloDetDescrManager in the Condition Store" };

◆ m_Channel

NTuple::Item<long> LArTimePhysPrediction::m_Channel
private

Definition at line 74 of file LArTimePhysPrediction.h.

◆ m_Chid

NTuple::Item<long> LArTimePhysPrediction::m_Chid
private

Definition at line 73 of file LArTimePhysPrediction.h.

◆ m_DeltaTTC

NTuple::Item<double> LArTimePhysPrediction::m_DeltaTTC
private

Definition at line 95 of file LArTimePhysPrediction.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_eta

NTuple::Item<long> LArTimePhysPrediction::m_eta
private

Definition at line 84 of file LArTimePhysPrediction.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_FEBid

NTuple::Item<long> LArTimePhysPrediction::m_FEBid
private

Definition at line 83 of file LArTimePhysPrediction.h.

◆ m_FT

NTuple::Item<long> LArTimePhysPrediction::m_FT
private

Definition at line 81 of file LArTimePhysPrediction.h.

◆ m_groupingType

std::string LArTimePhysPrediction::m_groupingType
private

Definition at line 41 of file LArTimePhysPrediction.h.

◆ m_is_lar_em

NTuple::Item<long> LArTimePhysPrediction::m_is_lar_em
private

Definition at line 76 of file LArTimePhysPrediction.h.

◆ m_is_lar_fcal

NTuple::Item<long> LArTimePhysPrediction::m_is_lar_fcal
private

Definition at line 78 of file LArTimePhysPrediction.h.

◆ m_is_lar_hec

NTuple::Item<long> LArTimePhysPrediction::m_is_lar_hec
private

Definition at line 77 of file LArTimePhysPrediction.h.

◆ m_keyinput

std::string LArTimePhysPrediction::m_keyinput
private

Definition at line 40 of file LArTimePhysPrediction.h.

◆ m_keyoutput

std::string LArTimePhysPrediction::m_keyoutput
private

Definition at line 39 of file LArTimePhysPrediction.h.

◆ m_layer

NTuple::Item<long> LArTimePhysPrediction::m_layer
private

Definition at line 86 of file LArTimePhysPrediction.h.

◆ m_nchannels_max

int LArTimePhysPrediction::m_nchannels_max
private

Definition at line 51 of file LArTimePhysPrediction.h.

◆ m_nt

NTuple::Tuple* LArTimePhysPrediction::m_nt
private

Definition at line 71 of file LArTimePhysPrediction.h.

◆ m_phi

NTuple::Item<long> LArTimePhysPrediction::m_phi
private

Definition at line 85 of file LArTimePhysPrediction.h.

◆ m_pos_neg

NTuple::Item<long> LArTimePhysPrediction::m_pos_neg
private

Definition at line 79 of file LArTimePhysPrediction.h.

◆ m_real_eta

NTuple::Item<double> LArTimePhysPrediction::m_real_eta
private

Definition at line 87 of file LArTimePhysPrediction.h.

◆ m_real_phi

NTuple::Item<double> LArTimePhysPrediction::m_real_phi
private

Definition at line 88 of file LArTimePhysPrediction.h.

◆ m_sCalib

double LArTimePhysPrediction::m_sCalib
private

Definition at line 65 of file LArTimePhysPrediction.h.

◆ m_SignalCables

NTuple::Item<double> LArTimePhysPrediction::m_SignalCables
private

Definition at line 93 of file LArTimePhysPrediction.h.

◆ m_slot

NTuple::Item<long> LArTimePhysPrediction::m_slot
private

Definition at line 82 of file LArTimePhysPrediction.h.

◆ m_sLTP

double LArTimePhysPrediction::m_sLTP
private

Definition at line 68 of file LArTimePhysPrediction.h.

◆ m_sPig

double LArTimePhysPrediction::m_sPig
private

Definition at line 67 of file LArTimePhysPrediction.h.

◆ m_sSignal

double LArTimePhysPrediction::m_sSignal
private

Definition at line 66 of file LArTimePhysPrediction.h.

◆ m_t0

NTuple::Item<double> LArTimePhysPrediction::m_t0
private

Definition at line 89 of file LArTimePhysPrediction.h.

◆ m_tcali

NTuple::Item<double> LArTimePhysPrediction::m_tcali
private

Definition at line 90 of file LArTimePhysPrediction.h.

◆ m_tCalibPredicted

NTuple::Item<double> LArTimePhysPrediction::m_tCalibPredicted
private

Definition at line 91 of file LArTimePhysPrediction.h.

◆ m_thistSvc

ServiceHandle<ITHistSvc> LArTimePhysPrediction::m_thistSvc {this,"THistSvc","THistSvc"}
private

Definition at line 38 of file LArTimePhysPrediction.h.

38{this,"THistSvc","THistSvc"};

◆ m_TOF

NTuple::Item<double> LArTimePhysPrediction::m_TOF
private

Definition at line 94 of file LArTimePhysPrediction.h.

◆ m_tPhysPredicted

NTuple::Item<double> LArTimePhysPrediction::m_tPhysPredicted
private

Definition at line 96 of file LArTimePhysPrediction.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vDeltaTTC_EC

std::vector<std::vector<double> > LArTimePhysPrediction::m_vDeltaTTC_EC
private

Definition at line 62 of file LArTimePhysPrediction.h.

◆ m_vDeltaTTC_ECA_SPEC

std::vector<std::vector<double> > LArTimePhysPrediction::m_vDeltaTTC_ECA_SPEC
private

Definition at line 64 of file LArTimePhysPrediction.h.

◆ m_vDeltaTTC_ECC_SPEC

std::vector<std::vector<double> > LArTimePhysPrediction::m_vDeltaTTC_ECC_SPEC
private

Definition at line 63 of file LArTimePhysPrediction.h.

◆ m_vDeltaTTC_EMB

std::vector<std::vector<double> > LArTimePhysPrediction::m_vDeltaTTC_EMB
private

Definition at line 61 of file LArTimePhysPrediction.h.

◆ m_vEtaMax_EMB

std::vector<double> LArTimePhysPrediction::m_vEtaMax_EMB
private

Definition at line 54 of file LArTimePhysPrediction.h.

◆ m_vEtaMin_EMB

std::vector<double> LArTimePhysPrediction::m_vEtaMin_EMB
private

Definition at line 53 of file LArTimePhysPrediction.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_vLCalib_EMB

std::vector<std::vector<double> > LArTimePhysPrediction::m_vLCalib_EMB
private

Definition at line 52 of file LArTimePhysPrediction.h.

◆ m_vLCalib_EMEC

double LArTimePhysPrediction::m_vLCalib_EMEC
private

Definition at line 55 of file LArTimePhysPrediction.h.

◆ m_vLCalib_HEC

double LArTimePhysPrediction::m_vLCalib_HEC
private

Definition at line 56 of file LArTimePhysPrediction.h.

◆ m_vLSignal_EMB

std::vector<std::vector<double> > LArTimePhysPrediction::m_vLSignal_EMB
private

Definition at line 57 of file LArTimePhysPrediction.h.

◆ m_vLSignal_EMEC

double LArTimePhysPrediction::m_vLSignal_EMEC
private

Definition at line 58 of file LArTimePhysPrediction.h.

◆ m_vLSignal_FCAL

std::vector<double> LArTimePhysPrediction::m_vLSignal_FCAL
private

Definition at line 60 of file LArTimePhysPrediction.h.

◆ m_vLSignal_HEC

double LArTimePhysPrediction::m_vLSignal_HEC
private

Definition at line 59 of file LArTimePhysPrediction.h.


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