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

#include <HECHitsTestTool.h>

Inheritance diagram for HECHitsTestTool:
Collaboration diagram for HECHitsTestTool:

Public Member Functions

 HECHitsTestTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~HECHitsTestTool ()
StatusCode initialize ()
virtual StatusCode processEvent () override

Protected Attributes

std::string m_detname
double m_edep_cut
TH1 * m_lar_eta
TH1 * m_lar_phi
TH2 * m_lar_zr
TH2 * m_lar_etaphi
TH2 * m_lar_edep_zr
TH1 * m_eta
TH1 * m_phi
TH2 * m_zr
TH2 * m_etaphi
TH1 * m_time
TH1 * m_edep
TH1 * m_log_edep
TH2 * m_edep_zr
TH1 * m_eta_cut1
TH1 * m_phi_cut1
TH2 * m_zr_cut1
TH2 * m_etaphi_cut1
TH1 * m_time_cut1
TH1 * m_edep_cut1
TH2 * m_edep_zr_cut1
TH1 * m_etot
TH1 * m_edep_eta
TH1 * m_edep_phi
TH1 * m_edep_z
TH1 * m_edep_r
TH1 * m_etot_eta
TH1 * m_etot_phi
std::string m_path {"/truth/"}
ServiceHandle< ITHistSvc > m_histSvc {"THistSvc", "SimTestHisto"}

Private Attributes

SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey

structors and AlgTool implementation

std::string m_key
 The MC truth key.
HepMC::ConstGenParticlePtr getPrimary ()

Detailed Description

Definition at line 10 of file HECHitsTestTool.h.

Constructor & Destructor Documentation

◆ HECHitsTestTool()

HECHitsTestTool::HECHitsTestTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 11 of file HECHitsTestTool.cxx.

12 : LArHitsTestTool(type, name, parent)
13{
14}
LArHitsTestTool(const std::string &type, const std::string &name, const IInterface *parent)

◆ ~HECHitsTestTool()

virtual HECHitsTestTool::~HECHitsTestTool ( )
inlinevirtual

Definition at line 14 of file HECHitsTestTool.h.

14{}

Member Function Documentation

◆ getPrimary()

HepMC::ConstGenParticlePtr SimTestToolBase::getPrimary ( )
protectedinherited

Definition at line 20 of file SimTestToolBase.cxx.

21{
22 const McEventCollection* mcCollection;
23 if (evtStore()->retrieve(mcCollection,m_key).isSuccess()) {
25 for (e=mcCollection->begin();e!=mcCollection->end(); ++e) {
26 for (auto p : (**e)) {
28 return p;
29 }
30 }
31 }
32 }
33 return 0;
34}
DataModel_detail::const_iterator< DataVector > const_iterator
Standard 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.
std::string m_key
The MC truth key.
bool is_simulation_particle(const T &p)
Method to establish if a particle (or barcode) was created during the simulation (TODO update to be s...
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ initialize()

StatusCode HECHitsTestTool::initialize ( )
virtual

Reimplemented from LArHitsTestTool.

Definition at line 16 of file HECHitsTestTool.cxx.

17{
18 std::string origpath=m_path;
19
20 m_path += "LAr/HEC/";
21
22 // variables specific to sub detector (root histo names have to be unique!)
23 _TH1D(m_eta,"HEC_eta",25,-3.5,3.5);
24 _TH1D_WEIGHTED(m_time,"HEC_time",100,0,10);
25 _TH1D(m_edep,"HEC_edep",100,0.,4.);
26 _TH1D(m_etot,"HEC_etot",100,0.,20.);
27 _TH1D_WEIGHTED(m_edep_eta,"HEC_edep_eta",25,-3.5,3.5);
28 _TH1D_WEIGHTED(m_edep_r,"HEC_edep_r",100,300.,2200.);
29 _TPROFILE(m_etot_eta,"HEC_etot_eta",25,-3.,3.);
30
31 m_path = std::move(origpath);
32
34}
#define _TH1D_WEIGHTED(var, name, nbin, xmin, xmax)
#define _TH1D(var, name, nbin, xmin, xmax)
#define _TPROFILE(var, name, nbin, xmin, xmax)
virtual StatusCode initialize() override
std::string m_path

◆ processEvent()

StatusCode LArHitsTestTool::processEvent ( )
overridevirtualinherited

Definition at line 116 of file LArHitsTestTool.cxx.

116 {
117 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey};
118 ATH_CHECK(caloMgrHandle.isValid());
119 const CaloDetDescrManager* caloMgr = *caloMgrHandle;
120
121 std::string lArkey = "LArHit"+m_detname;
122
123 double etot=0;
124 const LArHitContainer* hitContainer = evtStore()->tryConstRetrieve<LArHitContainer>(lArkey);
125 if(hitContainer) {
126 for(const LArHit* larHit : *hitContainer) {
127 const CaloDetDescrElement* ddElement = caloMgr->get_element(larHit->cellID());
128
129 double eta = ddElement->eta();
130 double phi = ddElement->phi();
131 double radius = ddElement->r();
132 double z = ddElement->z();
133
134 double energy = larHit->energy();
135
136 m_lar_eta->Fill(eta);
137 m_lar_phi->Fill(phi);
138 m_lar_zr->Fill(z,radius);
139 m_lar_etaphi->Fill(eta,phi);
140 m_lar_edep_zr->Fill(z,radius,energy);
141
142
143 m_eta->Fill(eta);
144 m_phi->Fill(phi);
145 m_time->Fill( larHit->time(),energy);
146 m_edep->Fill( energy);
147 m_log_edep->Fill( energy > 0 ? log(energy) : -1 );
148
149 m_zr->Fill(z,radius);
150 m_etaphi->Fill(eta,phi);
151 m_edep_zr->Fill(z,radius,energy);
152
153 m_edep_eta->Fill(eta,energy);
154 m_edep_phi->Fill(phi,energy);
155
156 m_edep_z->Fill(z,energy);
157 m_edep_r->Fill(radius,energy);
158
159 etot+=energy;
160
161 if (larHit->energy()>m_edep_cut) {
162 m_eta_cut1->Fill(eta);
163 m_phi_cut1->Fill(phi);
164 m_time_cut1->Fill( larHit->time(), larHit->energy());
165 m_edep_cut1->Fill( larHit->energy());
166
167 m_zr_cut1->Fill(z,radius);
168 m_etaphi_cut1->Fill(eta,phi);
169 m_edep_zr_cut1->Fill(z,radius,larHit->energy());
170 }
171 }
172 }
173
174 //For FastCaloSim Container with _Fast postfix, just try to retrieve, if exist, collect information from this container, it not just skip it.
175
177 const std::string lArkey_fast="LArHit"+m_detname+"_Fast";
178
179 const LArHitContainer* iter_fast;
180 if( evtStore()->contains<LArHitContainer>(lArkey_fast) &&
181 (evtStore()->retrieve(iter_fast,lArkey_fast)).isSuccess())
182 {
183 ATH_MSG_DEBUG ( "Read hit info from FastCaloSim Container" );
184 for(hi_fast=(*iter_fast).begin();hi_fast!=(*iter_fast).end();++hi_fast)
185 {
186 const LArHit* larHit = *hi_fast;
187 const CaloDetDescrElement* ddElement = caloMgr->get_element(larHit->cellID());
188 double eta=ddElement->eta();
189 double phi=ddElement->phi();
190 double radius=ddElement->r();
191 double z=ddElement->z();
192 double energy=larHit->energy();
193
194 m_lar_eta->Fill(eta);
195 m_lar_phi->Fill(phi);
196 m_lar_zr->Fill(z,radius);
197 m_lar_etaphi->Fill(eta,phi);
198 m_lar_edep_zr->Fill(z,radius,energy);
199
200 m_eta->Fill(eta);
201 m_phi->Fill(phi);
202 m_time->Fill((*hi_fast)->time(),energy);
203 m_edep->Fill(energy);
204 m_log_edep->Fill( log(energy));
205
206 m_zr->Fill(z,radius);
207 m_etaphi->Fill(eta,phi);
208 m_edep_zr->Fill(z,radius,energy);
209
210 m_edep_eta->Fill(eta,energy);
211 m_edep_phi->Fill(phi,energy);
212
213 m_edep_z->Fill(z,energy);
214 m_edep_r->Fill(radius,energy);
215
216 etot+=energy;
217
218 if((*hi_fast)->energy() > m_edep_cut)
219 {
220 m_eta_cut1->Fill(eta);
221 m_phi_cut1->Fill(phi);
222 m_time_cut1->Fill((*hi_fast)->time(),(*hi_fast)->energy());
223 m_edep_cut1->Fill((*hi_fast)->energy());
224
225 m_zr_cut1->Fill(z,radius);
226 m_etaphi_cut1->Fill(eta,phi);
227 m_edep_zr_cut1->Fill(z,radius,(*hi_fast)->energy());
228 }
229 }
230 }
231 auto primary = getPrimary();
232 if (primary) {
233 m_etot_eta->Fill(primary->momentum().eta(),etot);
234 m_etot_phi->Fill(primary->momentum().phi(),etot);
235 }
236 m_etot->Fill(etot);
237
238 return StatusCode::SUCCESS;
239}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x)
LArHitContainer
#define z
boost::transform_iterator< make_const, typename CONT::const_iterator > const_iterator
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
double energy() const
Definition LArHit.h:113
Identifier cellID() const
Definition LArHit.h:108
std::string m_detname
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
HepMC::ConstGenParticlePtr getPrimary()
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114

Member Data Documentation

◆ m_caloMgrKey

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

Definition at line 48 of file LArHitsTestTool.h.

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

◆ m_detname

std::string LArHitsTestTool::m_detname
protectedinherited

Definition at line 24 of file LArHitsTestTool.h.

◆ m_edep

TH1 * LArHitsTestTool::m_edep
protectedinherited

Definition at line 35 of file LArHitsTestTool.h.

◆ m_edep_cut

double LArHitsTestTool::m_edep_cut
protectedinherited

Definition at line 25 of file LArHitsTestTool.h.

◆ m_edep_cut1

TH1 * LArHitsTestTool::m_edep_cut1
protectedinherited

Definition at line 39 of file LArHitsTestTool.h.

◆ m_edep_eta

TH1* LArHitsTestTool::m_edep_eta
protectedinherited

Definition at line 43 of file LArHitsTestTool.h.

◆ m_edep_phi

TH1 * LArHitsTestTool::m_edep_phi
protectedinherited

Definition at line 43 of file LArHitsTestTool.h.

◆ m_edep_r

TH1 * LArHitsTestTool::m_edep_r
protectedinherited

Definition at line 44 of file LArHitsTestTool.h.

◆ m_edep_z

TH1* LArHitsTestTool::m_edep_z
protectedinherited

Definition at line 44 of file LArHitsTestTool.h.

◆ m_edep_zr

TH2* LArHitsTestTool::m_edep_zr
protectedinherited

Definition at line 36 of file LArHitsTestTool.h.

◆ m_edep_zr_cut1

TH2* LArHitsTestTool::m_edep_zr_cut1
protectedinherited

Definition at line 40 of file LArHitsTestTool.h.

◆ m_eta

TH1* LArHitsTestTool::m_eta
protectedinherited

Definition at line 33 of file LArHitsTestTool.h.

◆ m_eta_cut1

TH1* LArHitsTestTool::m_eta_cut1
protectedinherited

Definition at line 37 of file LArHitsTestTool.h.

◆ m_etaphi

TH2 * LArHitsTestTool::m_etaphi
protectedinherited

Definition at line 34 of file LArHitsTestTool.h.

◆ m_etaphi_cut1

TH2 * LArHitsTestTool::m_etaphi_cut1
protectedinherited

Definition at line 38 of file LArHitsTestTool.h.

◆ m_etot

TH1* LArHitsTestTool::m_etot
protectedinherited

Definition at line 42 of file LArHitsTestTool.h.

◆ m_etot_eta

TH1* LArHitsTestTool::m_etot_eta
protectedinherited

Definition at line 45 of file LArHitsTestTool.h.

◆ m_etot_phi

TH1 * LArHitsTestTool::m_etot_phi
protectedinherited

Definition at line 45 of file LArHitsTestTool.h.

◆ m_histSvc

ServiceHandle<ITHistSvc> SimTestHisto::m_histSvc {"THistSvc", "SimTestHisto"}
protectedinherited

Definition at line 35 of file SimTestHisto.h.

35{"THistSvc", "SimTestHisto"};

◆ m_key

std::string SimTestToolBase::m_key
protectedinherited

The MC truth key.

Definition at line 34 of file SimTestToolBase.h.

◆ m_lar_edep_zr

TH2* LArHitsTestTool::m_lar_edep_zr
protectedinherited

Definition at line 30 of file LArHitsTestTool.h.

◆ m_lar_eta

TH1* LArHitsTestTool::m_lar_eta
protectedinherited

Definition at line 28 of file LArHitsTestTool.h.

◆ m_lar_etaphi

TH2 * LArHitsTestTool::m_lar_etaphi
protectedinherited

Definition at line 29 of file LArHitsTestTool.h.

◆ m_lar_phi

TH1 * LArHitsTestTool::m_lar_phi
protectedinherited

Definition at line 28 of file LArHitsTestTool.h.

◆ m_lar_zr

TH2* LArHitsTestTool::m_lar_zr
protectedinherited

Definition at line 29 of file LArHitsTestTool.h.

◆ m_log_edep

TH1 * LArHitsTestTool::m_log_edep
protectedinherited

Definition at line 35 of file LArHitsTestTool.h.

◆ m_path

std::string SimTestHisto::m_path {"/truth/"}
protectedinherited

Definition at line 34 of file SimTestHisto.h.

34{"/truth/"};

◆ m_phi

TH1 * LArHitsTestTool::m_phi
protectedinherited

Definition at line 33 of file LArHitsTestTool.h.

◆ m_phi_cut1

TH1 * LArHitsTestTool::m_phi_cut1
protectedinherited

Definition at line 37 of file LArHitsTestTool.h.

◆ m_time

TH1* LArHitsTestTool::m_time
protectedinherited

Definition at line 35 of file LArHitsTestTool.h.

◆ m_time_cut1

TH1* LArHitsTestTool::m_time_cut1
protectedinherited

Definition at line 39 of file LArHitsTestTool.h.

◆ m_zr

TH2* LArHitsTestTool::m_zr
protectedinherited

Definition at line 34 of file LArHitsTestTool.h.

◆ m_zr_cut1

TH2* LArHitsTestTool::m_zr_cut1
protectedinherited

Definition at line 38 of file LArHitsTestTool.h.


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