ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Attributes | List of all members
CaloCalibrationHitsTestTool Class Reference

#include <CaloCalibrationHitsTestTool.h>

Inheritance diagram for CaloCalibrationHitsTestTool:
Collaboration diagram for CaloCalibrationHitsTestTool:

Public Member Functions

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

Protected Attributes

std::string m_path {"/truth/"}
 
ServiceHandle< ITHistSvc > m_histSvc {"THistSvc", "SimTestHisto"}
 

Private Attributes

std::string m_calibHitType
 
std::string m_hitcollkey
 
TH1m_eta
 
TH1m_phi
 
TH1m_eEM
 
TH1m_eNonEM
 
TH1m_eInv
 
TH1m_eEsc
 
TH1m_eTot
 
TH2m_rz
 
TH2m_etaphi
 
TH1m_eTot_partID
 
TH1m_eTot_eta
 
TH1m_eTot_phi
 
TH1m_partID_large
 
TH1m_partID_small
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
 

structors and AlgTool implementation

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

Detailed Description

Definition at line 18 of file CaloCalibrationHitsTestTool.h.

Constructor & Destructor Documentation

◆ CaloCalibrationHitsTestTool()

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

Definition at line 17 of file CaloCalibrationHitsTestTool.cxx.

18  : SimTestToolBase(type, name, parent),m_calibHitType("LArActive"),
19  m_eta(nullptr), m_phi(nullptr), m_eEM(nullptr),
20  m_eNonEM(nullptr), m_eInv(nullptr), m_eEsc(nullptr),
21  m_eTot(nullptr), m_rz(nullptr), m_etaphi(nullptr),
22  m_eTot_partID(nullptr), m_eTot_eta(nullptr), m_eTot_phi(nullptr),
23  m_partID_large(nullptr), m_partID_small(nullptr)
24 {
25  declareProperty("CalibHitType", m_calibHitType="LArActive");
26 }

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 }

◆ initialize()

StatusCode CaloCalibrationHitsTestTool::initialize ( )
overridevirtual

Reimplemented from SimTestToolBase.

Definition at line 28 of file CaloCalibrationHitsTestTool.cxx.

28  {
29 
30  //--discriminate between different sections--//
31  if (m_calibHitType=="LArActive" || m_calibHitType=="LArInactive" || m_calibHitType=="LArDeadMaterial" ) {
32  m_path+="Calib/LAr/";
33  m_hitcollkey="LArCalibrationHit"+m_calibHitType.substr(3);
34  } else if (m_calibHitType=="TileActiveCell" || m_calibHitType=="TileInactiveCell" || m_calibHitType=="TileDeadMaterial") {
35  m_path+="Calib/Tile/";
36  m_hitcollkey="TileCalibHit"+m_calibHitType.substr(4);
37  } else if (m_calibHitType=="TileDM" || m_calibHitType=="TileCell") { //old naming convention for Tile CaloCalibrationHits
38  m_path+="Calib/Tile/";
39  m_hitcollkey="TileCalibration"+m_calibHitType.substr(4)+"HitCnt";
40  } else{
41  ATH_MSG_ERROR(" unknown key " <<m_calibHitType);
42  return StatusCode::FAILURE;
43  }
44 
45  //voglio: eta, phi, tutte le energie, rz, etaphi,
46  // particle ID vs Etot Prof, eta Etot prof, phi etot prof
47  _TH1D(m_eta,(m_calibHitType+"_eta").c_str(),25,-5.,5.);
48  _TH1D(m_phi,(m_calibHitType+"_phi").c_str(),25,-5.,5.);
49  _TH1D(m_eEM,(m_calibHitType+"_eEM").c_str(),100,0.,500.);
50  _TH1D(m_eNonEM,(m_calibHitType+"_eNonEM").c_str(),100,0.,500.);
51  _TH1D(m_eInv,(m_calibHitType+"_eInv").c_str(),100,0.,500.);
52  _TH1D(m_eEsc,(m_calibHitType+"_eEsc").c_str(),100,0.,500.);
53  _TH1D(m_eTot,(m_calibHitType+"_eTot").c_str(),100,0.,500.);
54 
55  _TH2D(m_rz,(m_calibHitType+"_rz").c_str(),100,-5200.,5200.,100,0.,3000.);
56  _TH2D(m_etaphi,(m_calibHitType+"_etaphi").c_str(),100,-5.,5.,100,-4.,4.);
57 
58  _TH1D(m_partID_large,(m_calibHitType+"_partID1").c_str(),100,0.,1500000.);
59  m_partID_large -> StatOverflows();
60  _TH1D(m_partID_small,(m_calibHitType+"_partID2").c_str(),100,10000.,10100.);
61 
62  _TH1D_WEIGHTED(m_eTot_partID,(m_calibHitType+"_eTot_partID").c_str(),600,0.,300000.);
63  _TH1D_WEIGHTED(m_eTot_eta,(m_calibHitType+"_eTot_eta").c_str(),25,-5.,5.);
64  _TH1D_WEIGHTED(m_eTot_phi,(m_calibHitType+"_eTot_phi").c_str(),25,-3.2,3.2);
65 
67 
68  return StatusCode::SUCCESS;
69 }

◆ processEvent()

StatusCode CaloCalibrationHitsTestTool::processEvent ( )
overridevirtual

Definition at line 71 of file CaloCalibrationHitsTestTool.cxx.

71  {
72 
73  SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey,Gaudi::Hive::currentContext()};
74  const CaloDetDescrManager* caloMgr = *caloMgrHandle;
75 
76  const CaloCalibrationHitContainer* iter;
77  CHECK(evtStore()->retrieve(iter,m_hitcollkey));
78  for(const CaloCalibrationHit* hit : *iter) {
79 
80  GeoCaloCalibHit geoHit(*hit, m_hitcollkey, caloMgr);
81  if (!geoHit) continue;
82  const CaloDetDescrElement* ddElement = geoHit.getDetDescrElement();
83 
84  if (!ddElement) {
85  ATH_MSG_WARNING(" could not retrieve DetElement in CaloCalibrationHitsTestTool/" <<m_calibHitType);
86  continue;
87  }
88  double eta = ddElement->eta();
89  double phi = ddElement->phi();
90  double radius = ddElement->r();
91  double z = ddElement->z();
92  double emEnergy = geoHit.energyEM();
93  double nonEmEnergy = geoHit.energyNonEM();
94  double invEnergy = geoHit.energyInvisible();
95  double escEnergy = geoHit.energyEscaped();
96  double totEnergy = geoHit.energyTotal();
97  double particleID = hit->particleID();
98 
99  m_eta->Fill(eta);
100  m_phi->Fill(phi);
101  m_eEM->Fill(emEnergy);
102  m_eNonEM->Fill(nonEmEnergy);
103  m_eInv->Fill(invEnergy);
104  m_eEsc->Fill(escEnergy);
105  m_eTot->Fill(totEnergy);
106 
107  m_rz->Fill(z, radius);
108  m_etaphi->Fill(eta, phi);
109 
110  // particle id
111  m_partID_small->Fill(particleID);
112  m_partID_large->Fill(particleID);
113  // weighted histos
114  m_eTot_partID->Fill(particleID, totEnergy);
115  m_eTot_eta->Fill(eta, totEnergy);
116  m_eTot_phi->Fill(phi, totEnergy);
117  }
118 
119  return StatusCode::SUCCESS;
120 }

Member Data Documentation

◆ m_calibHitType

std::string CaloCalibrationHitsTestTool::m_calibHitType
private

Definition at line 30 of file CaloCalibrationHitsTestTool.h.

◆ m_caloMgrKey

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

Definition at line 39 of file CaloCalibrationHitsTestTool.h.

◆ m_eEM

TH1 * CaloCalibrationHitsTestTool::m_eEM
private

Definition at line 34 of file CaloCalibrationHitsTestTool.h.

◆ m_eEsc

TH1 * CaloCalibrationHitsTestTool::m_eEsc
private

Definition at line 34 of file CaloCalibrationHitsTestTool.h.

◆ m_eInv

TH1 * CaloCalibrationHitsTestTool::m_eInv
private

Definition at line 34 of file CaloCalibrationHitsTestTool.h.

◆ m_eNonEM

TH1 * CaloCalibrationHitsTestTool::m_eNonEM
private

Definition at line 34 of file CaloCalibrationHitsTestTool.h.

◆ m_eta

TH1* CaloCalibrationHitsTestTool::m_eta
private

Definition at line 34 of file CaloCalibrationHitsTestTool.h.

◆ m_etaphi

TH2 * CaloCalibrationHitsTestTool::m_etaphi
private

Definition at line 35 of file CaloCalibrationHitsTestTool.h.

◆ m_eTot

TH1 * CaloCalibrationHitsTestTool::m_eTot
private

Definition at line 34 of file CaloCalibrationHitsTestTool.h.

◆ m_eTot_eta

TH1 * CaloCalibrationHitsTestTool::m_eTot_eta
private

Definition at line 36 of file CaloCalibrationHitsTestTool.h.

◆ m_eTot_partID

TH1* CaloCalibrationHitsTestTool::m_eTot_partID
private

Definition at line 36 of file CaloCalibrationHitsTestTool.h.

◆ m_eTot_phi

TH1 * CaloCalibrationHitsTestTool::m_eTot_phi
private

Definition at line 36 of file CaloCalibrationHitsTestTool.h.

◆ m_histSvc

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

Definition at line 35 of file SimTestHisto.h.

◆ m_hitcollkey

std::string CaloCalibrationHitsTestTool::m_hitcollkey
private

Definition at line 31 of file CaloCalibrationHitsTestTool.h.

◆ m_key

std::string SimTestToolBase::m_key
protectedinherited

The MC truth key.

Definition at line 34 of file SimTestToolBase.h.

◆ m_partID_large

TH1* CaloCalibrationHitsTestTool::m_partID_large
private

Definition at line 37 of file CaloCalibrationHitsTestTool.h.

◆ m_partID_small

TH1 * CaloCalibrationHitsTestTool::m_partID_small
private

Definition at line 37 of file CaloCalibrationHitsTestTool.h.

◆ m_path

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

Definition at line 34 of file SimTestHisto.h.

◆ m_phi

TH1 * CaloCalibrationHitsTestTool::m_phi
private

Definition at line 34 of file CaloCalibrationHitsTestTool.h.

◆ m_rz

TH2* CaloCalibrationHitsTestTool::m_rz
private

Definition at line 35 of file CaloCalibrationHitsTestTool.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
TH2::Fill
int Fill(double, double)
Definition: rootspy.cxx:382
CaloCalibrationHitContainer
Definition: CaloCalibrationHitContainer.h:25
GeoCaloCalibHit
Adaptor for CaloCalibHits.
Definition: GeoCaloCalibHit.h:26
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
CaloCalibrationHitsTestTool::m_eEM
TH1 * m_eEM
Definition: CaloCalibrationHitsTestTool.h:34
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloCalibrationHitsTestTool::m_phi
TH1 * m_phi
Definition: CaloCalibrationHitsTestTool.h:34
SimTestToolBase::SimTestToolBase
SimTestToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SimTestToolBase.cxx:11
CaloCalibrationHitsTestTool::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: CaloCalibrationHitsTestTool.h:39
CaloCalibrationHitsTestTool::m_etaphi
TH2 * m_etaphi
Definition: CaloCalibrationHitsTestTool.h:35
_TH1D
#define _TH1D(var, name, nbin, xmin, xmax)
Definition: SimTestHisto.h:47
CaloCalibrationHitsTestTool::m_partID_small
TH1 * m_partID_small
Definition: CaloCalibrationHitsTestTool.h:37
CaloCalibrationHitsTestTool::m_eNonEM
TH1 * m_eNonEM
Definition: CaloCalibrationHitsTestTool.h:34
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
HepMC::is_simulation_particle
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...
Definition: MagicNumbers.h:299
z
#define z
CaloCalibrationHitsTestTool::m_rz
TH2 * m_rz
Definition: CaloCalibrationHitsTestTool.h:35
test_pyathena.parent
parent
Definition: test_pyathena.py:15
_TH2D
#define _TH2D(var, name, nbinx, xmin, xmax, nbiny, ymin, ymax)
Definition: SimTestHisto.h:81
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:33
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
CaloCalibrationHit
Class to store calorimeter calibration hit.
Definition: CaloCalibrationHit.h:21
_TH1D_WEIGHTED
#define _TH1D_WEIGHTED(var, name, nbin, xmin, xmax)
Definition: SimTestHisto.h:67
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
CaloCalibrationHitsTestTool::m_eta
TH1 * m_eta
Definition: CaloCalibrationHitsTestTool.h:34
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
CaloCalibrationHitsTestTool::m_eTot
TH1 * m_eTot
Definition: CaloCalibrationHitsTestTool.h:34
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
CaloCalibrationHitsTestTool::m_partID_large
TH1 * m_partID_large
Definition: CaloCalibrationHitsTestTool.h:37
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CaloDetDescrElement::z
float z() const
cell z
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:367
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
CaloDetDescrElement::eta
float eta() const
cell eta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:344
CaloDetDescrElement::phi
float phi() const
cell phi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:346
CaloCalibrationHitsTestTool::m_calibHitType
std::string m_calibHitType
Definition: CaloCalibrationHitsTestTool.h:30
CaloCalibrationHitsTestTool::m_eTot_phi
TH1 * m_eTot_phi
Definition: CaloCalibrationHitsTestTool.h:36
CaloDetDescrElement::r
float r() const
cell r
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:348
SimTestHisto::m_path
std::string m_path
Definition: SimTestHisto.h:34
CaloCalibrationHitsTestTool::m_eEsc
TH1 * m_eEsc
Definition: CaloCalibrationHitsTestTool.h:34
SimTestToolBase::m_key
std::string m_key
The MC truth key.
Definition: SimTestToolBase.h:34
CaloCalibrationHitsTestTool::m_hitcollkey
std::string m_hitcollkey
Definition: CaloCalibrationHitsTestTool.h:31
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
CaloCalibrationHitsTestTool::m_eTot_partID
TH1 * m_eTot_partID
Definition: CaloCalibrationHitsTestTool.h:36
CaloCalibrationHitsTestTool::m_eTot_eta
TH1 * m_eTot_eta
Definition: CaloCalibrationHitsTestTool.h:36
CaloCalibrationHitsTestTool::m_eInv
TH1 * m_eInv
Definition: CaloCalibrationHitsTestTool.h:34