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

#include <ALFA_GloRec.h>

Inheritance diagram for ALFA_GloRec:
Collaboration diagram for ALFA_GloRec:

Public Member Functions

 ALFA_GloRec (const std::string &name, ISvcLocator *pSvcLocator)
 ~ALFA_GloRec ()
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

StatusCode initialize ()
StatusCode execute ()
StatusCode finalize ()
StatusCode Truth_info ()
void InitHistos ()
void FillTrackCandHistos (AlfaTrackCand *trkcand)
void WriteHistos ()
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

ALFA_GloRecEvCollectionm_pGloRecEvCollection {}
int m_iDataType = 0
std::string m_strTrackPathPatterns
TObjArray m_TObjArrTrackPathPatterns {}
std::string m_strGloRecAnalysisFile
std::string m_strGloRecCollectionName
std::string m_strLocRecCorrCollectionName
std::string m_TruthCollectionName
double m_px_g_pos {}
double m_py_g_pos {}
double m_pz_g_pos {}
double m_x_g_pos {}
double m_y_g_pos {}
double m_z_g_pos {}
double m_px_g_neg {}
double m_py_g_neg {}
double m_pz_g_neg {}
double m_x_g_neg {}
double m_y_g_neg {}
double m_z_g_neg {}
TH1F * m_th1_x_g {}
TH1F * m_th1_y_g {}
TH1F * m_th1_xslope_g {}
TH1F * m_th1_yslope_g {}
TH1F * m_th1_xnearuppotresiduals {}
TH1F * m_th1_ynearuppotresiduals {}
TH1F * m_th1_xfaruppotresiduals {}
TH1F * m_th1_yfaruppotresiduals {}
TH1F * m_th1_xnearlwpotresiduals {}
TH1F * m_th1_ynearlwpotresiduals {}
TH1F * m_th1_xfarlwpotresiduals {}
TH1F * m_th1_yfarlwpotresiduals {}
TH2F * m_th2_truexvsrecx {}
TH2F * m_th2_trueyvsrecy {}
TH2F * m_th2_truexslopevsrecxslope {}
TH2F * m_th2_trueyslopevsrecyslope {}
TH1F * m_th1_recxovertruex {}
TH1F * m_th1_recyovertruey {}
TH1F * m_th1_recxslopeovertruexslope {}
TH1F * m_th1_recyslopeovertrueyslope {}
TH1F * m_th1_recxminustruex {}
TH1F * m_th1_recyminustruey {}
TH1F * m_th1_recxslopeminustruexslope {}
TH1F * m_th1_recyslopeminustrueyslope {}
TH2F * m_th2_extrapxvsrecxnearpot {}
TH2F * m_th2_extrapyvsrecynearpot {}
TH1F * m_th1_recxoverextrapxnearpot {}
TH1F * m_th1_recyoverextrapynearpot {}
TH1F * m_th1_recxminusextrapxnearpot {}
TH1F * m_th1_recyminusextrapynearpot {}
TH2F * m_th2_extrapxvsrecxfarpot {}
TH2F * m_th2_extrapyvsrecyfarpot {}
TH1F * m_th1_recxoverextrapxfarpot {}
TH1F * m_th1_recyoverextrapyfarpot {}
TH1F * m_th1_recxminusextrapxfarpot {}
TH1F * m_th1_recyminusextrapyfarpot {}
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 28 of file ALFA_GloRec.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

◆ ALFA_GloRec()

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

Definition at line 84 of file ALFA_GloRec.cxx.

84 :
85AthAlgorithm(name, pSvcLocator)
86{
87
88 MsgStream LogStream(Athena::getMessageSvc(), "ALFA_GloRec::ALFA_GloRec");
89 LogStream << MSG::DEBUG << "begin ALFA_GloRec::ALFA_GloRec" << endmsg;
90
92 // ... steerable job options
94 declareProperty("DataType", m_iDataType);
95 declareProperty("TrackPathPatterns", m_strTrackPathPatterns);
97
98 declareProperty("OutputGloRecCollectionName",m_strGloRecCollectionName);
99 declareProperty("InputLocRecCollectionName",m_strLocRecCorrCollectionName);
100 declareProperty("TruthEventCollectionName",m_TruthCollectionName);
101
102}
#define endmsg
std::string m_strLocRecCorrCollectionName
Definition ALFA_GloRec.h:52
std::string m_TruthCollectionName
Definition ALFA_GloRec.h:53
std::string m_strGloRecAnalysisFile
Definition ALFA_GloRec.h:50
std::string m_strGloRecCollectionName
Definition ALFA_GloRec.h:51
std::string m_strTrackPathPatterns
Definition ALFA_GloRec.h:48
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
IMessageSvc * getMessageSvc(bool quiet=false)

◆ ~ALFA_GloRec()

ALFA_GloRec::~ALFA_GloRec ( )

Definition at line 109 of file ALFA_GloRec.cxx.

109 {
110 MsgStream LogStream(Athena::getMessageSvc(), "ALFA_GloRec::~ALFA_GloRec");
111 LogStream << MSG::DEBUG << "begin ALFA_GloRec::~ALFA_GloRec" << endmsg;
112 LogStream << MSG::DEBUG << "end ALFA_GloRec::~ALFA_GloRec" << endmsg;
113}

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 ALFA_GloRec::execute ( )
private

Definition at line 154 of file ALFA_GloRec.cxx.

154 {
155
156 MsgStream LogStream(Athena::getMessageSvc(), "ALFA_GloRec::execute()");
157 LogStream << MSG::DEBUG << "begin ALFA_GloRec::execute()" << endmsg;
158 StatusCode sc = StatusCode::SUCCESS;
159
160
161
162
163
165 // get truth information
167 if(m_iDataType == 0){
168 LogStream << MSG::DEBUG << "truth info()" << endmsg;
169 sc = Truth_info();
170 if (sc.isFailure()) {
171 LogStream << MSG::WARNING << "ALFA digi, Truth_info failed" << endmsg;
172 return StatusCode::SUCCESS;
173 }
174 }
175
177 // ... record output collection
179 m_pGloRecEvCollection = new ALFA_GloRecEvCollection();
180 sc = evtStore()->record(m_pGloRecEvCollection, "ALFA_GloRecEvCollection");
181 if (sc.isFailure()) {
182 msg(MSG::ERROR) << "Could not create the empty LocRecEv collection in StoreGate" << endmsg;
183 }
184
185
187 // ... get LocRecCorr data
189 const ALFA_LocRecCorrEvCollection* pLocRecCorrCol = nullptr;
190 sc = evtStore()->retrieve(pLocRecCorrCol, m_strLocRecCorrCollectionName);
191 if(sc.isFailure() || !pLocRecCorrCol)
192 {
193 msg(MSG::ERROR) << "Container "<< m_strLocRecCorrCollectionName <<" NOT FOUND !!!!!!!" << endmsg;
194 return sc;
195 }
196
197
199 // ... collect the local hits and contain them in an auxiliary hit collection
201 ALFA_LocRecCorrEvCollection::const_iterator mcColBeg = pLocRecCorrCol->begin();
202 ALFA_LocRecCorrEvCollection::const_iterator mcColEnd = pLocRecCorrCol->end();
203 AlfaLocalHits hits;
204 for(; mcColBeg!=mcColEnd; ++mcColBeg) {
205 HepGeom::Point3D<double> PointInAtlasCS;
206 const ALFA_LocRecCorrEvent* pLocRecCorr_tmp = static_cast<const ALFA_LocRecCorrEvent*> (*mcColBeg);
207 AlfaLocalHit l_hit(pLocRecCorr_tmp);
208 hits.AddHit(l_hit);
209 //PointInAtlasCS = m_pGeometryReader->GetDetPointInAtlas((eRPotName)(iRPot+1), Point3D<double>(fRecPosX, fRecPosY, 10.0));
210 }
211 //hits.Dump();
212
213
214
216 // ... apply path pattern
218 for(int i = 0; i < m_TObjArrTrackPathPatterns.GetEntries(); i++){
219 TString l_pathpattern(((TObjString*) m_TObjArrTrackPathPatterns.At(i))->GetString());
220 hits.ApplyPathPattern(l_pathpattern.Data());
221 //hits.DumpPaths();
222 for(int i = 0 ; i < hits.GetNpaths() ; i++){
223 AlfaTrackCand trkcand(hits.GetPathHits(i));
224 if(trkcand.IsValidTrack()){
225 m_pGloRecEvCollection->push_back(new ALFA_GloRecEvent(trkcand.GetArmNum(),trkcand.GetX(),trkcand.GetY(),trkcand.GetXslope(),trkcand.GetXslope(),trkcand.GetNearLocRecCorr(),trkcand.GetFarLocRecCorr()));
226 FillTrackCandHistos(&trkcand);
227 }
228 }
229 hits.ResetPaths();
230 }
231
232
233
234
235 return sc;
236}
static Double_t sc
ALFA_GloRecEvCollection * m_pGloRecEvCollection
Definition ALFA_GloRec.h:41
TObjArray m_TObjArrTrackPathPatterns
Definition ALFA_GloRec.h:49
StatusCode Truth_info()
void FillTrackCandHistos(AlfaTrackCand *trkcand)
MsgStream & msg() 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.
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ 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

◆ FillTrackCandHistos()

void ALFA_GloRec::FillTrackCandHistos ( AlfaTrackCand * trkcand)
private

Definition at line 389 of file ALFA_GloRec.cxx.

389 {
390
391 if(m_iDataType==0){
392 double x_g, y_g, z_g, px_g, py_g, pz_g;
393 if(trkcand->IsLeftTrack()){ // left is positive
394 x_g = m_x_g_pos;
395 y_g = m_y_g_pos;
396 z_g = m_z_g_pos;
397 px_g = m_px_g_pos;
398 py_g = m_py_g_pos;
399 pz_g = m_pz_g_pos;
400 }else if(trkcand->IsRightTrack()){ // right is negative
401 x_g = m_x_g_neg;
402 y_g = m_y_g_neg;
403 z_g = m_z_g_neg;
404 px_g = m_px_g_neg;
405 py_g = m_py_g_neg;
406 pz_g = m_pz_g_neg;
407 }else{
408 ATH_MSG_ERROR("ALFA_GloRec::FillTrackCandHistos : Track candidate neither left nor right !!!");
409 return;
410 }
411 m_th1_xnearuppotresiduals -> Fill(trkcand->GetNearImpactPoint()->x()-trkcand->GetNearLocalHit()->GetX(),1.);
412 m_th1_ynearuppotresiduals -> Fill(trkcand->GetNearImpactPoint()->y()-trkcand->GetNearLocalHit()->GetY(),1.);
413 m_th1_xfaruppotresiduals -> Fill(trkcand->GetFarImpactPoint()->x()-trkcand->GetFarLocalHit()->GetX(),1.);
414 m_th1_yfaruppotresiduals -> Fill(trkcand->GetFarImpactPoint()->y()-trkcand->GetFarLocalHit()->GetY(),1.);
415 m_th2_truexvsrecx -> Fill(x_g, trkcand->GetX(), 1.);
416 m_th2_trueyvsrecy -> Fill(y_g, trkcand->GetY(), 1.);
417 m_th1_recxovertruex -> Fill(trkcand->GetX()/x_g, 1.);
418 m_th1_recyovertruey -> Fill(trkcand->GetY()/y_g, 1.);
419 //double p_gen = TMath::Sqrt(px_g*px_g+px_g*px_g+py_g*pz_g);
420 double px_norm = px_g / pz_g;//p_gen;
421 double py_norm = py_g / pz_g;//p_gen;
422 m_th2_truexslopevsrecxslope -> Fill(px_norm, trkcand->GetXslope(), 1.);
423 m_th2_trueyslopevsrecyslope -> Fill(py_norm, trkcand->GetYslope(), 1.);
424 m_th1_recxovertruex -> Fill(trkcand->GetX()/x_g, 1.);
425 m_th1_recyovertruey -> Fill(trkcand->GetY()/y_g, 1.);
426 m_th1_recxslopeovertruexslope -> Fill(trkcand->GetXslope()/px_norm, 1.);
427 m_th1_recyslopeovertrueyslope -> Fill(trkcand->GetYslope()/py_norm, 1.);
428 m_th1_recxminustruex -> Fill(trkcand->GetX()-x_g, 1.);
429 m_th1_recyminustruey -> Fill(trkcand->GetY()-y_g, 1.);
430 m_th1_recxslopeminustruexslope -> Fill(trkcand->GetXslope()-px_norm, 1.);
431 m_th1_recyslopeminustrueyslope -> Fill(trkcand->GetYslope()-py_norm, 1.);
432 // ... extrapolate x any of gen track to near pot
433 double nearhitx = trkcand->GetNearLocalHit()->GetX();
434 double nearhity = trkcand->GetNearLocalHit()->GetY();
435 double nearhitz = trkcand->GetNearLocalHit()->GetZ();
436 double genxextrtonearpot = x_g + px_norm * (nearhitz - z_g);
437 double genyextrtonearpot = y_g + py_norm * (nearhitz - z_g);
438 //double genzextrtonearpot = nearhitz;
439 m_th2_extrapxvsrecxnearpot -> Fill(genxextrtonearpot, nearhitx,1.);
440 m_th2_extrapyvsrecynearpot -> Fill(genyextrtonearpot, nearhity,1.);
441 m_th1_recxoverextrapxnearpot -> Fill(nearhitx / genxextrtonearpot, 1.);
442 m_th1_recyoverextrapynearpot -> Fill(nearhity / genyextrtonearpot, 1.);
443 m_th1_recxminusextrapxnearpot -> Fill(nearhitx - genxextrtonearpot, 1.);
444 m_th1_recyminusextrapynearpot -> Fill(nearhity - genyextrtonearpot, 1.);
445 // ... extrapolate x any of gen track to far pot
446 double farhitx = trkcand->GetFarLocalHit()->GetX();
447 double farhity = trkcand->GetFarLocalHit()->GetY();
448 double farhitz = trkcand->GetFarLocalHit()->GetZ();
449 double genxextrtofarpot = x_g + px_norm * (farhitz - z_g);
450 double genyextrtofarpot = y_g + py_norm * (farhitz - z_g);
451 //double genzextrtofarpot = farhitz;
452 m_th2_extrapxvsrecxfarpot -> Fill(genxextrtofarpot, farhitx,1.);
453 m_th2_extrapyvsrecyfarpot -> Fill(genyextrtofarpot, farhity,1.);
454 m_th1_recxoverextrapxfarpot -> Fill(farhitx / genxextrtofarpot, 1.);
455 m_th1_recyoverextrapyfarpot -> Fill(farhity / genyextrtofarpot, 1.);
456 m_th1_recxminusextrapxfarpot -> Fill(farhitx - genxextrtofarpot, 1.);
457 m_th1_recyminusextrapyfarpot -> Fill(farhity - genyextrtofarpot, 1.);
458 }
459}
#define ATH_MSG_ERROR(x)
TH1F * m_th1_recxminusextrapxfarpot
TH1F * m_th1_recxslopeminustruexslope
TH2F * m_th2_extrapyvsrecyfarpot
TH1F * m_th1_recxminustruex
TH2F * m_th2_trueyvsrecy
TH1F * m_th1_recyminustruey
double m_px_g_pos
Definition ALFA_GloRec.h:71
TH1F * m_th1_recxovertruex
TH1F * m_th1_recyslopeovertrueyslope
TH2F * m_th2_extrapxvsrecxfarpot
TH1F * m_th1_recyovertruey
double m_z_g_neg
Definition ALFA_GloRec.h:83
TH2F * m_th2_truexslopevsrecxslope
TH1F * m_th1_recxoverextrapxnearpot
TH1F * m_th1_recyoverextrapynearpot
TH2F * m_th2_truexvsrecx
TH1F * m_th1_xfaruppotresiduals
Definition ALFA_GloRec.h:95
double m_px_g_neg
Definition ALFA_GloRec.h:78
double m_x_g_pos
Definition ALFA_GloRec.h:74
double m_pz_g_pos
Definition ALFA_GloRec.h:73
TH1F * m_th1_recxslopeovertruexslope
double m_x_g_neg
Definition ALFA_GloRec.h:81
TH1F * m_th1_recxminusextrapxnearpot
TH1F * m_th1_recyminusextrapynearpot
double m_y_g_pos
Definition ALFA_GloRec.h:75
double m_z_g_pos
Definition ALFA_GloRec.h:76
double m_pz_g_neg
Definition ALFA_GloRec.h:80
TH1F * m_th1_recyoverextrapyfarpot
double m_py_g_pos
Definition ALFA_GloRec.h:72
double m_y_g_neg
Definition ALFA_GloRec.h:82
TH1F * m_th1_ynearuppotresiduals
Definition ALFA_GloRec.h:94
double m_py_g_neg
Definition ALFA_GloRec.h:79
TH1F * m_th1_xnearuppotresiduals
Definition ALFA_GloRec.h:93
TH2F * m_th2_trueyslopevsrecyslope
TH1F * m_th1_recyminusextrapyfarpot
TH1F * m_th1_yfaruppotresiduals
Definition ALFA_GloRec.h:96
TH1F * m_th1_recyslopeminustrueyslope
TH2F * m_th2_extrapxvsrecxnearpot
TH1F * m_th1_recxoverextrapxfarpot
TH2F * m_th2_extrapyvsrecynearpot
float GetY() const
float GetX() const
float GetZ() const
HepGeom::Point3D< double > * GetNearImpactPoint()
AlfaLocalHit * GetNearLocalHit()
AlfaLocalHit * GetFarLocalHit()
HepGeom::Point3D< double > * GetFarImpactPoint()

◆ finalize()

StatusCode ALFA_GloRec::finalize ( )
private

Definition at line 246 of file ALFA_GloRec.cxx.

246 {
247
248 MsgStream LogStream(Athena::getMessageSvc(), "ALFA_GloRec::finalize()");
249 LogStream << MSG::DEBUG << "begin ALFA_GloRec::finalize()" << endmsg;
250
251 WriteHistos();
252
253 return StatusCode::SUCCESS;
254}
void WriteHistos()

◆ InitHistos()

void ALFA_GloRec::InitHistos ( )
private

Definition at line 340 of file ALFA_GloRec.cxx.

340 {
341 m_th1_x_g = new TH1F("x_g","x^{vertex}_{gen}", 100, -5,5);
342 m_th1_y_g = new TH1F("y_g","y^{vertex}_{gen}", 100, -5,5);
343 m_th1_xslope_g = new TH1F("xslope_g","x'^{vertex}_{gen}", 100, -1.e-3,1.e3);
344 m_th1_yslope_g = new TH1F("yslope_g","y'^{vertex}_{gen}", 100, -1.e-3,1.e3);
345
346 m_th1_xnearuppotresiduals = new TH1F("xnearuppotresiduals","trk x extrap. minus near IP U loc hit",100, -10., 10.);
347 m_th1_ynearuppotresiduals = new TH1F("ynearuppotresiduals","trk y extrap. minus near IP U loc hit",100, -10., 10.);
348 m_th1_xfaruppotresiduals = new TH1F("xfaruppotresiduals","trk x extrap. minus far IP U loc hit",100, -10., 10.);
349 m_th1_yfaruppotresiduals = new TH1F("yfaruppotresiduals","trk y extrap. minus far IP U loc hit",100, -10., 10.);
350 m_th1_xnearlwpotresiduals = new TH1F("xnearlwpotresiduals","trk x extrap. minus near IP L loc hit",100, -10., 10.);
351 m_th1_ynearlwpotresiduals = new TH1F("ynearlwpotresiduals","trk y extrap. minus near IP L loc hit",100, -10., 10.);
352 m_th1_xfarlwpotresiduals = new TH1F("xfarlwpotresiduals","trk x extrap. minus far IP L loc hit",100, -10., 10.);
353 m_th1_yfarlwpotresiduals = new TH1F("yfarlwpotresiduals","trk y extrap. minus far IP L loc hit",100, -10., 10.);
354
355 m_th2_truexvsrecx = new TH2F("truexvsrecx","gen x vs rec x", 100, -50, 50, 100, -50, 50);
356 m_th2_trueyvsrecy = new TH2F("trueyvsrecy","gen y vs rec y", 100, -50, 50, 100, -50, 50);
357 m_th2_truexslopevsrecxslope = new TH2F("truexslopevsrecxslope","gen xslope vs rec xslope", 100,-0.002,0.002,100,-0.002,0.002);
358 m_th2_trueyslopevsrecyslope = new TH2F("trueyslopevsrecyslope","gen yslope vs rec yslope", 100,-0.002,0.002,100,-0.002,0.002);
359 m_th1_recxovertruex = new TH1F("recxovertruex","rec x over true x", 100, -2, 2);
360 m_th1_recyovertruey = new TH1F("recyovertruey","rec y over true y", 100, -2, 2);
361 m_th1_recxslopeovertruexslope = new TH1F("recxslopeovertruexslope","rec xslope over true xslope", 100,-2,2);
362 m_th1_recyslopeovertrueyslope = new TH1F("recyslopeovertrueyslope","rec yslope over true yslope", 100,-2,2);
363 m_th1_recxminustruex = new TH1F("recxminustruex","rec x minus true x", 100, -10, 10);
364 m_th1_recyminustruey = new TH1F("recyminustruey","rec y minus true y", 100, -10, 10);
365 m_th1_recxslopeminustruexslope = new TH1F("recxslopeminustruexslope","rec xslope minus true xslope", 100,-0.001,0.001);
366 m_th1_recyslopeminustrueyslope = new TH1F("recyslopeminustrueyslope","rec yslope minus true yslope", 100,-0.001,0.001);
367
368 m_th2_extrapxvsrecxnearpot = new TH2F("extrapxvsrecxnearpot","extrapolated gen x vs rec x nearpot", 100, -50, 50, 100, -50, 50);
369 m_th2_extrapyvsrecynearpot = new TH2F("extrapyvsrecynearpot","extrapolated gen y vs rec y nearpot", 100, -50, 50, 100, -50, 50);
370 m_th1_recxoverextrapxnearpot = new TH1F("recxoverextrapxnearpot","rec x over extrap x nearpot", 100, 1.-0.2, 1.+0.2);
371 m_th1_recyoverextrapynearpot = new TH1F("recyoverextrapynearpot","rec y over extrap y nearpot", 100, 1.-0.2, 1.+0.2);
372 m_th1_recxminusextrapxnearpot = new TH1F("recxminusextrapxnearpot","rec x minus extrap x nearpot", 100, -0.5, 0.5);
373 m_th1_recyminusextrapynearpot = new TH1F("recyminusextrapynearpot","rec y minus extrap y nearpot", 100, -0.5, 0.5);
374
375 m_th2_extrapxvsrecxfarpot = new TH2F("extrapxvsrecxfarpot","extrapolated gen x vs rec x farpot", 100, -50, 50, 100, -50, 50);
376 m_th2_extrapyvsrecyfarpot = new TH2F("extrapyvsrecyfarpot","extrapolated gen y vs rec y farpot", 100, -50, 50, 100, -50, 50);
377 m_th1_recxoverextrapxfarpot = new TH1F("recxoverextrapxfarpot","rec x over extrap x farpot", 100, 1.-0.2, 1.+0.2);
378 m_th1_recyoverextrapyfarpot = new TH1F("recyoverextrapyfarpot","rec y over extrap y farpot", 100, 1.-0.2, 1.+0.2);
379 m_th1_recxminusextrapxfarpot = new TH1F("recxminusextrapxfarpot","rec x minus extrap x farpot", 100, -0.5, 0.5);
380 m_th1_recyminusextrapyfarpot = new TH1F("recyminusextrapyfarpot","rec y minus extrap y farpot", 100, -0.5, 0.5);
381}
TH1F * m_th1_xfarlwpotresiduals
Definition ALFA_GloRec.h:99
TH1F * m_th1_y_g
Definition ALFA_GloRec.h:89
TH1F * m_th1_ynearlwpotresiduals
Definition ALFA_GloRec.h:98
TH1F * m_th1_yfarlwpotresiduals
TH1F * m_th1_x_g
Definition ALFA_GloRec.h:88
TH1F * m_th1_yslope_g
Definition ALFA_GloRec.h:91
TH1F * m_th1_xslope_g
Definition ALFA_GloRec.h:90
TH1F * m_th1_xnearlwpotresiduals
Definition ALFA_GloRec.h:97
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)

◆ initialize()

StatusCode ALFA_GloRec::initialize ( )
private

Definition at line 120 of file ALFA_GloRec.cxx.

120 {
121 MsgStream LogStream(Athena::getMessageSvc(), "ALFA_GloRec::initialize()");
122 LogStream << MSG::DEBUG << "begin ALFA_GloRec::initialize()" << endmsg;
123
124 msg(MSG::DEBUG) << "======================================" << endmsg;
125 msg(MSG::DEBUG) << "ALFA_GloRec::initialize - data type " << endmsg;
126 msg(MSG::DEBUG) << "======================================" << endmsg;
127 msg(MSG::DEBUG) << "DataType = " << m_iDataType << endmsg;
128
129 TString l_strtmp(m_strTrackPathPatterns);
131 msg(MSG::DEBUG) << "==========================================================" << endmsg;
132 msg(MSG::DEBUG) << "ALFA_GloRec::initialize - Path patterns from job options " << endmsg;
133 msg(MSG::DEBUG) << "==========================================================" << endmsg;
134 m_TObjArrTrackPathPatterns = *(l_strtmp.Tokenize(","));
135 for(int i = 0; i < m_TObjArrTrackPathPatterns.GetEntries(); i++){
136 msg(MSG::DEBUG) << "pattern[" << i << "] = " << ((TObjString*) m_TObjArrTrackPathPatterns.At(i))->GetString().Data() << endmsg;
137 }
138
139
141 // ... declare histograms for some analysis
143 InitHistos();
144
145
146 return StatusCode::SUCCESS;
147}
void InitHistos()

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

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

◆ Truth_info()

StatusCode ALFA_GloRec::Truth_info ( )
private

Definition at line 269 of file ALFA_GloRec.cxx.

269 {
270
271 const McEventCollection* mcTru = nullptr;
272 StatusCode sc = evtStore()->retrieve(mcTru,m_TruthCollectionName);
273 if(sc.isFailure() || !mcTru){
274 msg(MSG::DEBUG) << "Container "<< m_TruthCollectionName <<" NOT FOUND !!!!!!!" << endmsg;
275 return StatusCode::FAILURE;
276 }
277
278
279 //int VertexFoundInFrontOfALFA = 0;
280
281
282 McEventCollection::const_iterator mcTruBeg = mcTru->begin();
283 McEventCollection::const_iterator mcTruEnd = mcTru->end();
284
285 //loop over collection (container) with hits (i.e. over 1 event)
286 for(;mcTruBeg!=mcTruEnd;++mcTruBeg){
287
288 //loop over one event
289 m_z_g_pos = -1.e10;
290 m_z_g_neg = 1.e10;
291 for(const HepMC::ConstGenParticlePtr& begGen: (**mcTruBeg)){
292 if(((std::abs(begGen->pdg_id())==2212)||(std::abs(begGen->pdg_id())==211))){
293 double px, py, pz;
294 double x, y, z;
295 px = begGen->momentum().px();
296 py = begGen->momentum().py();
297 pz = begGen->momentum().pz();
298 HepMC::ConstGenVertexPtr l_prodvert = begGen->production_vertex();
299 x = l_prodvert->position().x();
300 y = l_prodvert->position().y();
301 z = l_prodvert->position().z();
302 if(z > 236000.){
303 m_px_g_pos = px;
304 m_py_g_pos = py;
305 m_pz_g_pos = pz;
306 m_x_g_pos = x;
307 m_y_g_pos = y;
308 m_z_g_pos = z;
309 continue;
310 }else if(z < -236000.){
311 m_px_g_neg = px;
312 m_py_g_neg = py;
313 m_pz_g_neg = pz;
314 m_x_g_neg = x;
315 m_y_g_neg = y;
316 m_z_g_neg = z;
317 continue;
318 }
319
320 // ... break the loop if both suitable vertices were found
321 if (m_z_g_pos > 0. && m_z_g_neg < 0.){
322 msg(MSG::DEBUG) << "gen px, py, pz = " << m_px_g_pos << " " << m_py_g_pos << " " << m_pz_g_pos << endmsg;
323 msg(MSG::DEBUG) << "prod x, y, z = " << m_x_g_pos << " " << m_y_g_pos << " " << m_z_g_pos << endmsg;
324 msg(MSG::DEBUG) << "gen px, py, pz = " << m_px_g_neg << " " << m_py_g_neg << " " << m_pz_g_neg << endmsg;
325 msg(MSG::DEBUG) << "prod x, y, z = " << m_x_g_neg << " " << m_y_g_neg << " " << m_z_g_neg << endmsg;
326 break;
327 }
328 }
329 }
330 }
331 return StatusCode::SUCCESS;
332}
#define y
#define x
#define z
const GenParticle * ConstGenParticlePtr
Definition GenParticle.h:38
const HepMC::GenVertex * ConstGenVertexPtr
Definition GenVertex.h:60

◆ 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

◆ WriteHistos()

void ALFA_GloRec::WriteHistos ( )
private

Definition at line 469 of file ALFA_GloRec.cxx.

469 {
471 // ... write the histograms into a root file
473 TFile fw_glorecanalysis(m_strGloRecAnalysisFile.data(), "RECREATE", m_strGloRecAnalysisFile.data(), 0);
474 m_th1_xnearuppotresiduals -> Write();
475 m_th1_ynearuppotresiduals -> Write();
476 m_th1_xfaruppotresiduals -> Write();
477 m_th1_yfaruppotresiduals -> Write();
478 m_th1_xnearlwpotresiduals -> Write();
479 m_th1_ynearlwpotresiduals -> Write();
480 m_th1_xfarlwpotresiduals -> Write();
481 m_th1_yfarlwpotresiduals -> Write();
482 m_th2_truexvsrecx -> Write();
483 m_th2_trueyvsrecy -> Write();
484 m_th2_truexslopevsrecxslope -> Write();
485 m_th2_trueyslopevsrecyslope -> Write();
486 m_th1_recxovertruex -> Write();
487 m_th1_recyovertruey -> Write();
490 m_th1_recxminustruex -> Write();
491 m_th1_recyminustruey -> Write();
494 m_th2_extrapxvsrecxnearpot -> Write();
500 m_th2_extrapxvsrecxfarpot -> Write();
501 m_th2_extrapyvsrecyfarpot -> Write();
506
507 fw_glorecanalysis.Write();
508 fw_glorecanalysis.Close();
509}

Member Data Documentation

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

int ALFA_GloRec::m_iDataType = 0
private

Definition at line 47 of file ALFA_GloRec.h.

◆ m_pGloRecEvCollection

ALFA_GloRecEvCollection* ALFA_GloRec::m_pGloRecEvCollection {}
private

Definition at line 41 of file ALFA_GloRec.h.

41{};

◆ m_px_g_neg

double ALFA_GloRec::m_px_g_neg {}
private

Definition at line 78 of file ALFA_GloRec.h.

78{};

◆ m_px_g_pos

double ALFA_GloRec::m_px_g_pos {}
private

Definition at line 71 of file ALFA_GloRec.h.

71{};

◆ m_py_g_neg

double ALFA_GloRec::m_py_g_neg {}
private

Definition at line 79 of file ALFA_GloRec.h.

79{};

◆ m_py_g_pos

double ALFA_GloRec::m_py_g_pos {}
private

Definition at line 72 of file ALFA_GloRec.h.

72{};

◆ m_pz_g_neg

double ALFA_GloRec::m_pz_g_neg {}
private

Definition at line 80 of file ALFA_GloRec.h.

80{};

◆ m_pz_g_pos

double ALFA_GloRec::m_pz_g_pos {}
private

Definition at line 73 of file ALFA_GloRec.h.

73{};

◆ m_strGloRecAnalysisFile

std::string ALFA_GloRec::m_strGloRecAnalysisFile
private

Definition at line 50 of file ALFA_GloRec.h.

◆ m_strGloRecCollectionName

std::string ALFA_GloRec::m_strGloRecCollectionName
private

Definition at line 51 of file ALFA_GloRec.h.

◆ m_strLocRecCorrCollectionName

std::string ALFA_GloRec::m_strLocRecCorrCollectionName
private

Definition at line 52 of file ALFA_GloRec.h.

◆ m_strTrackPathPatterns

std::string ALFA_GloRec::m_strTrackPathPatterns
private

Definition at line 48 of file ALFA_GloRec.h.

◆ m_th1_recxminusextrapxfarpot

TH1F* ALFA_GloRec::m_th1_recxminusextrapxfarpot {}
private

Definition at line 126 of file ALFA_GloRec.h.

126{};

◆ m_th1_recxminusextrapxnearpot

TH1F* ALFA_GloRec::m_th1_recxminusextrapxnearpot {}
private

Definition at line 119 of file ALFA_GloRec.h.

119{};

◆ m_th1_recxminustruex

TH1F* ALFA_GloRec::m_th1_recxminustruex {}
private

Definition at line 110 of file ALFA_GloRec.h.

110{};

◆ m_th1_recxoverextrapxfarpot

TH1F* ALFA_GloRec::m_th1_recxoverextrapxfarpot {}
private

Definition at line 124 of file ALFA_GloRec.h.

124{};

◆ m_th1_recxoverextrapxnearpot

TH1F* ALFA_GloRec::m_th1_recxoverextrapxnearpot {}
private

Definition at line 117 of file ALFA_GloRec.h.

117{};

◆ m_th1_recxovertruex

TH1F* ALFA_GloRec::m_th1_recxovertruex {}
private

Definition at line 106 of file ALFA_GloRec.h.

106{};

◆ m_th1_recxslopeminustruexslope

TH1F* ALFA_GloRec::m_th1_recxslopeminustruexslope {}
private

Definition at line 112 of file ALFA_GloRec.h.

112{};

◆ m_th1_recxslopeovertruexslope

TH1F* ALFA_GloRec::m_th1_recxslopeovertruexslope {}
private

Definition at line 108 of file ALFA_GloRec.h.

108{};

◆ m_th1_recyminusextrapyfarpot

TH1F* ALFA_GloRec::m_th1_recyminusextrapyfarpot {}
private

Definition at line 127 of file ALFA_GloRec.h.

127{};

◆ m_th1_recyminusextrapynearpot

TH1F* ALFA_GloRec::m_th1_recyminusextrapynearpot {}
private

Definition at line 120 of file ALFA_GloRec.h.

120{};

◆ m_th1_recyminustruey

TH1F* ALFA_GloRec::m_th1_recyminustruey {}
private

Definition at line 111 of file ALFA_GloRec.h.

111{};

◆ m_th1_recyoverextrapyfarpot

TH1F* ALFA_GloRec::m_th1_recyoverextrapyfarpot {}
private

Definition at line 125 of file ALFA_GloRec.h.

125{};

◆ m_th1_recyoverextrapynearpot

TH1F* ALFA_GloRec::m_th1_recyoverextrapynearpot {}
private

Definition at line 118 of file ALFA_GloRec.h.

118{};

◆ m_th1_recyovertruey

TH1F* ALFA_GloRec::m_th1_recyovertruey {}
private

Definition at line 107 of file ALFA_GloRec.h.

107{};

◆ m_th1_recyslopeminustrueyslope

TH1F* ALFA_GloRec::m_th1_recyslopeminustrueyslope {}
private

Definition at line 113 of file ALFA_GloRec.h.

113{};

◆ m_th1_recyslopeovertrueyslope

TH1F* ALFA_GloRec::m_th1_recyslopeovertrueyslope {}
private

Definition at line 109 of file ALFA_GloRec.h.

109{};

◆ m_th1_x_g

TH1F* ALFA_GloRec::m_th1_x_g {}
private

Definition at line 88 of file ALFA_GloRec.h.

88{};

◆ m_th1_xfarlwpotresiduals

TH1F* ALFA_GloRec::m_th1_xfarlwpotresiduals {}
private

Definition at line 99 of file ALFA_GloRec.h.

99{};

◆ m_th1_xfaruppotresiduals

TH1F* ALFA_GloRec::m_th1_xfaruppotresiduals {}
private

Definition at line 95 of file ALFA_GloRec.h.

95{};

◆ m_th1_xnearlwpotresiduals

TH1F* ALFA_GloRec::m_th1_xnearlwpotresiduals {}
private

Definition at line 97 of file ALFA_GloRec.h.

97{};

◆ m_th1_xnearuppotresiduals

TH1F* ALFA_GloRec::m_th1_xnearuppotresiduals {}
private

Definition at line 93 of file ALFA_GloRec.h.

93{};

◆ m_th1_xslope_g

TH1F* ALFA_GloRec::m_th1_xslope_g {}
private

Definition at line 90 of file ALFA_GloRec.h.

90{};

◆ m_th1_y_g

TH1F* ALFA_GloRec::m_th1_y_g {}
private

Definition at line 89 of file ALFA_GloRec.h.

89{};

◆ m_th1_yfarlwpotresiduals

TH1F* ALFA_GloRec::m_th1_yfarlwpotresiduals {}
private

Definition at line 100 of file ALFA_GloRec.h.

100{};

◆ m_th1_yfaruppotresiduals

TH1F* ALFA_GloRec::m_th1_yfaruppotresiduals {}
private

Definition at line 96 of file ALFA_GloRec.h.

96{};

◆ m_th1_ynearlwpotresiduals

TH1F* ALFA_GloRec::m_th1_ynearlwpotresiduals {}
private

Definition at line 98 of file ALFA_GloRec.h.

98{};

◆ m_th1_ynearuppotresiduals

TH1F* ALFA_GloRec::m_th1_ynearuppotresiduals {}
private

Definition at line 94 of file ALFA_GloRec.h.

94{};

◆ m_th1_yslope_g

TH1F* ALFA_GloRec::m_th1_yslope_g {}
private

Definition at line 91 of file ALFA_GloRec.h.

91{};

◆ m_th2_extrapxvsrecxfarpot

TH2F* ALFA_GloRec::m_th2_extrapxvsrecxfarpot {}
private

Definition at line 122 of file ALFA_GloRec.h.

122{};

◆ m_th2_extrapxvsrecxnearpot

TH2F* ALFA_GloRec::m_th2_extrapxvsrecxnearpot {}
private

Definition at line 115 of file ALFA_GloRec.h.

115{};

◆ m_th2_extrapyvsrecyfarpot

TH2F* ALFA_GloRec::m_th2_extrapyvsrecyfarpot {}
private

Definition at line 123 of file ALFA_GloRec.h.

123{};

◆ m_th2_extrapyvsrecynearpot

TH2F* ALFA_GloRec::m_th2_extrapyvsrecynearpot {}
private

Definition at line 116 of file ALFA_GloRec.h.

116{};

◆ m_th2_truexslopevsrecxslope

TH2F* ALFA_GloRec::m_th2_truexslopevsrecxslope {}
private

Definition at line 104 of file ALFA_GloRec.h.

104{};

◆ m_th2_truexvsrecx

TH2F* ALFA_GloRec::m_th2_truexvsrecx {}
private

Definition at line 102 of file ALFA_GloRec.h.

102{};

◆ m_th2_trueyslopevsrecyslope

TH2F* ALFA_GloRec::m_th2_trueyslopevsrecyslope {}
private

Definition at line 105 of file ALFA_GloRec.h.

105{};

◆ m_th2_trueyvsrecy

TH2F* ALFA_GloRec::m_th2_trueyvsrecy {}
private

Definition at line 103 of file ALFA_GloRec.h.

103{};

◆ m_TObjArrTrackPathPatterns

TObjArray ALFA_GloRec::m_TObjArrTrackPathPatterns {}
private

Definition at line 49 of file ALFA_GloRec.h.

49{};

◆ m_TruthCollectionName

std::string ALFA_GloRec::m_TruthCollectionName
private

Definition at line 53 of file ALFA_GloRec.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.

◆ m_x_g_neg

double ALFA_GloRec::m_x_g_neg {}
private

Definition at line 81 of file ALFA_GloRec.h.

81{};

◆ m_x_g_pos

double ALFA_GloRec::m_x_g_pos {}
private

Definition at line 74 of file ALFA_GloRec.h.

74{};

◆ m_y_g_neg

double ALFA_GloRec::m_y_g_neg {}
private

Definition at line 82 of file ALFA_GloRec.h.

82{};

◆ m_y_g_pos

double ALFA_GloRec::m_y_g_pos {}
private

Definition at line 75 of file ALFA_GloRec.h.

75{};

◆ m_z_g_neg

double ALFA_GloRec::m_z_g_neg {}
private

Definition at line 83 of file ALFA_GloRec.h.

83{};

◆ m_z_g_pos

double ALFA_GloRec::m_z_g_pos {}
private

Definition at line 76 of file ALFA_GloRec.h.

76{};

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