|
ATLAS Offline Software
|
#include <CaloHitAnalysis.h>
|
| CaloHitAnalysis (const std::string &name, ISvcLocator *pSvcLocator) |
|
| ~CaloHitAnalysis ()=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute () override |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
TH1 * | m_h_cell_eta {} |
| Simple variables by Ketevi. More...
|
|
TH1 * | m_h_cell_phi {} |
|
TH1 * | m_h_cell_e {} |
|
TH1 * | m_h_cell_radius {} |
|
TH2 * | m_h_xy {} |
|
TH2 * | m_h_zr {} |
|
TH2 * | m_h_etaphi {} |
|
TH2 * | m_h_time_e {} |
|
TH2 * | m_h_eta_e {} |
|
TH2 * | m_h_phi_e {} |
|
TH2 * | m_h_r_e {} |
|
TH1 * | m_h_calib_eta {} |
|
TH1 * | m_h_calib_phi {} |
|
TH2 * | m_h_calib_rz {} |
|
TH2 * | m_h_calib_etaphi {} |
|
TH1 * | m_h_calib_eEM {} |
|
TH1 * | m_h_calib_eNonEM {} |
|
TH1 * | m_h_calib_eInv {} |
|
TH1 * | m_h_calib_eEsc {} |
|
TH1 * | m_h_calib_eTot {} |
|
TH1 * | m_h_calib_eTotpartID {} |
|
const TileID * | m_tileID {} |
|
const TileDetDescrManager * | m_tileMgr {} |
|
std::vector< float > * | m_cell_eta {} |
|
std::vector< float > * | m_cell_phi {} |
|
std::vector< float > * | m_cell_x {} |
|
std::vector< float > * | m_cell_y {} |
|
std::vector< float > * | m_cell_z {} |
|
std::vector< float > * | m_cell_e {} |
|
std::vector< float > * | m_cell_radius {} |
|
std::vector< float > * | m_time {} |
|
std::vector< float > * | m_calib_eta {} |
|
std::vector< float > * | m_calib_phi {} |
|
std::vector< float > * | m_calib_radius {} |
|
std::vector< float > * | m_calib_z {} |
|
std::vector< float > * | m_calib_eEM {} |
|
std::vector< float > * | m_calib_eNonEM {} |
|
std::vector< float > * | m_calib_eInv {} |
|
std::vector< float > * | m_calib_eEsc {} |
|
std::vector< float > * | m_calib_eTot {} |
|
std::vector< float > * | m_calib_partID {} |
|
BooleanProperty | m_expert {this, "ExpertMode", false} |
|
BooleanProperty | m_calib {this, "UseCalibHits", false} |
|
BooleanProperty | m_useLAr {this, "UseLAr", true} |
|
BooleanProperty | m_useTile {this, "UseTile", true} |
|
TTree * | m_tree {} |
|
StringProperty | m_ntupleFileName {this, "NtupleFileName", "/CaloHitAnalysis/"} |
|
StringProperty | m_path {this, "HistPath", "/CaloHitAnalysis/"} |
|
ServiceHandle< ITHistSvc > | m_thistSvc {this, "THitSvc", "THistSvc"} |
|
SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey |
|
DataObjIDColl | m_extendedExtraObjects |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 27 of file CaloHitAnalysis.h.
◆ StoreGateSvc_t
◆ CaloHitAnalysis()
CaloHitAnalysis::CaloHitAnalysis |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~CaloHitAnalysis()
CaloHitAnalysis::~CaloHitAnalysis |
( |
| ) |
|
|
default |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode CaloHitAnalysis::execute |
( |
| ) |
|
|
overridevirtual |
Definition at line 176 of file CaloHitAnalysis.cxx.
202 for (
const auto& i_hit : *hitVec) {
208 double tot_time = 0.;
209 for (
int t=0;
t<(i_hit).
size(); ++
t) tot_e += (i_hit).energy(
t);
210 for (
int t=0;
t<(i_hit).
size(); ++
t) tot_time += (i_hit).time(
t);
215 m_h_xy->Fill(ddElement->
x(), ddElement->
y());
216 m_h_zr->Fill(ddElement->
r(), ddElement->
r());
223 m_h_r_e->Fill(ddElement->
r(), tot_e);
232 m_time->push_back(tot_time);
243 std::string lArKey [4] = {
"LArHitEMB",
"LArHitEMEC",
"LArHitFCAL",
"LArHitHEC"};
244 for (
unsigned int i=0;
i<4;
i++) {
247 for (
auto hi : *iter ) {
249 double energy = hi->energy();
250 double time = hi->time();
251 double eta = hitElement->
eta();
252 double phi = hitElement->
phi();
253 double radius = hitElement->
r();
254 float x = hitElement->
x();
255 float y = hitElement->
y();
256 double z = hitElement->
z();
284 std::string LArCalibKey [3] = {
"LArCalibrationHitActive",
"LArCalibrationHitInactive",
"LArCalibrationHitDeadMaterial"};
285 for (
unsigned int j=0; j<3; j++) {
292 if (!geoHit)
continue;
294 double eta = Element->
eta();
295 double phi = Element->
phi();
297 double z = Element->
z();
298 double emEnergy = geoHit.energyEM();
299 double nonEmEnergy = geoHit.energyNonEM();
300 double invEnergy = geoHit.energyInvisible();
301 double escEnergy = geoHit.energyEscaped();
302 double totEnergy = geoHit.energyTotal();
303 double particleID = (*hit_i).particleID();
334 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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.
57 return Algorithm::extraOutputDeps();
◆ initialize()
StatusCode CaloHitAnalysis::initialize |
( |
| ) |
|
|
overridevirtual |
now add branches and leaves to the tree
Definition at line 39 of file CaloHitAnalysis.cxx.
51 m_h_cell_e =
new TH1D(
"h_Calo_cell_e",
"cell_e", 100,0.,500.);
55 m_h_cell_eta =
new TH1D(
"h_Calo_cell_eta",
"cell_eta", 50,-5.,5.);
59 m_h_cell_phi =
new TH1D(
"h_Calo_cell_phi",
"cell_phi", 50,-3.1416,3.1416);
63 m_h_cell_radius =
new TH1D(
"h_Calo_cell_radius",
"cell_radius", 100, 0., 6000.);
67 m_h_xy =
new TH2F(
"h_Calo_xy",
"xy", 100,-4000,4000,100, -4000, 4000);
71 m_h_zr =
new TH2D(
"h_Calo_zr",
"zr", 100,-7000.,7000.,100, 0., 6000.);
75 m_h_etaphi =
new TH2D(
"h_Calo_etaphi",
"eta_phi", 50,-5.,5.,50, -3.1416, 3.1416);
80 m_h_time_e =
new TH2D(
"h_Calo_time_e",
"energy vs time", 100, 0,50, 100,0,500);
83 m_h_eta_e =
new TH2D(
"h_Calo_eta_e",
"energy vs eta", 50, -5,5, 100,0,500);
86 m_h_phi_e =
new TH2D(
"h_Calo_phi_e",
"energy vs phi", 50, -3.1416,3.1416, 100,0,500);
89 m_h_r_e =
new TH2D(
"h_Calo_r_e",
"energy vs radius", 100, 0,6000, 100,0,500);
100 m_h_calib_eta =
new TH1D(
"h_calib_eta",
"calib. hits eta", 50,-5,5);
103 m_h_calib_phi =
new TH1D(
"h_calib_phi",
"calib. hits phi", 50,-3.1416,3.1416);
106 m_h_calib_rz =
new TH2D(
"h_calib_rz",
"calib. hits r vs z", 100,-7000,7000,1000, 0,6000);
109 m_h_calib_etaphi =
new TH2D(
"h_calib_etaphi",
"calib. hits eta vs phi",50,-5.,5., 50,-3.1416,3.1416);
112 m_h_calib_eEM =
new TH1D(
"h_calib_eEM",
"calib. hits EM energy", 100,0,100);
115 m_h_calib_eNonEM =
new TH1D(
"h_calib_nonEM",
"calib. hits non EM energy", 100,0,100);
118 m_h_calib_eInv =
new TH1D(
"h_calib_eInv",
"calib. hits invisible energy", 100,0,100);
121 m_h_calib_eEsc =
new TH1D(
"h_calib_eEsc",
"calib. hits escaped energy", 100,0,100);
124 m_h_calib_eTot =
new TH1D(
"h_calib_eTot",
"calib. hits energy", 100,0,100);
127 m_h_calib_eTotpartID =
new TH1D(
"h_calib_eTotpartID",
"calib. hits partID weighted with energy",600,0,300000);
144 m_tree =
new TTree(
"Calo",
"Calo");
172 return StatusCode::SUCCESS;
◆ inputHandles()
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() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_calib
BooleanProperty CaloHitAnalysis::m_calib {this, "UseCalibHits", false} |
|
private |
◆ m_calib_eEM
std::vector<float>* CaloHitAnalysis::m_calib_eEM {} |
|
private |
◆ m_calib_eEsc
std::vector<float>* CaloHitAnalysis::m_calib_eEsc {} |
|
private |
◆ m_calib_eInv
std::vector<float>* CaloHitAnalysis::m_calib_eInv {} |
|
private |
◆ m_calib_eNonEM
std::vector<float>* CaloHitAnalysis::m_calib_eNonEM {} |
|
private |
◆ m_calib_eta
std::vector<float>* CaloHitAnalysis::m_calib_eta {} |
|
private |
◆ m_calib_eTot
std::vector<float>* CaloHitAnalysis::m_calib_eTot {} |
|
private |
◆ m_calib_partID
std::vector<float>* CaloHitAnalysis::m_calib_partID {} |
|
private |
◆ m_calib_phi
std::vector<float>* CaloHitAnalysis::m_calib_phi {} |
|
private |
◆ m_calib_radius
std::vector<float>* CaloHitAnalysis::m_calib_radius {} |
|
private |
◆ m_calib_z
std::vector<float>* CaloHitAnalysis::m_calib_z {} |
|
private |
◆ m_caloMgrKey
Initial value:{ this
, "CaloDetDescrManager"
, "CaloDetDescrManager"
, "SG Key for CaloDetDescrManager in the Condition Store" }
Definition at line 93 of file CaloHitAnalysis.h.
◆ m_cell_e
std::vector<float>* CaloHitAnalysis::m_cell_e {} |
|
private |
◆ m_cell_eta
std::vector<float>* CaloHitAnalysis::m_cell_eta {} |
|
private |
◆ m_cell_phi
std::vector<float>* CaloHitAnalysis::m_cell_phi {} |
|
private |
◆ m_cell_radius
std::vector<float>* CaloHitAnalysis::m_cell_radius {} |
|
private |
◆ m_cell_x
std::vector<float>* CaloHitAnalysis::m_cell_x {} |
|
private |
◆ m_cell_y
std::vector<float>* CaloHitAnalysis::m_cell_y {} |
|
private |
◆ m_cell_z
std::vector<float>* CaloHitAnalysis::m_cell_z {} |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_expert
BooleanProperty CaloHitAnalysis::m_expert {this, "ExpertMode", false} |
|
private |
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_h_calib_eEM
TH1* CaloHitAnalysis::m_h_calib_eEM {} |
|
private |
◆ m_h_calib_eEsc
TH1* CaloHitAnalysis::m_h_calib_eEsc {} |
|
private |
◆ m_h_calib_eInv
TH1* CaloHitAnalysis::m_h_calib_eInv {} |
|
private |
◆ m_h_calib_eNonEM
TH1* CaloHitAnalysis::m_h_calib_eNonEM {} |
|
private |
◆ m_h_calib_eta
TH1* CaloHitAnalysis::m_h_calib_eta {} |
|
private |
◆ m_h_calib_etaphi
TH2* CaloHitAnalysis::m_h_calib_etaphi {} |
|
private |
◆ m_h_calib_eTot
TH1* CaloHitAnalysis::m_h_calib_eTot {} |
|
private |
◆ m_h_calib_eTotpartID
TH1* CaloHitAnalysis::m_h_calib_eTotpartID {} |
|
private |
◆ m_h_calib_phi
TH1* CaloHitAnalysis::m_h_calib_phi {} |
|
private |
◆ m_h_calib_rz
TH2* CaloHitAnalysis::m_h_calib_rz {} |
|
private |
◆ m_h_cell_e
TH1* CaloHitAnalysis::m_h_cell_e {} |
|
private |
◆ m_h_cell_eta
TH1* CaloHitAnalysis::m_h_cell_eta {} |
|
private |
◆ m_h_cell_phi
TH1* CaloHitAnalysis::m_h_cell_phi {} |
|
private |
◆ m_h_cell_radius
TH1* CaloHitAnalysis::m_h_cell_radius {} |
|
private |
◆ m_h_eta_e
TH2* CaloHitAnalysis::m_h_eta_e {} |
|
private |
◆ m_h_etaphi
TH2* CaloHitAnalysis::m_h_etaphi {} |
|
private |
◆ m_h_phi_e
TH2* CaloHitAnalysis::m_h_phi_e {} |
|
private |
◆ m_h_r_e
TH2* CaloHitAnalysis::m_h_r_e {} |
|
private |
◆ m_h_time_e
TH2* CaloHitAnalysis::m_h_time_e {} |
|
private |
◆ m_h_xy
TH2* CaloHitAnalysis::m_h_xy {} |
|
private |
◆ m_h_zr
TH2* CaloHitAnalysis::m_h_zr {} |
|
private |
◆ m_ntupleFileName
StringProperty CaloHitAnalysis::m_ntupleFileName {this, "NtupleFileName", "/CaloHitAnalysis/"} |
|
private |
◆ m_path
StringProperty CaloHitAnalysis::m_path {this, "HistPath", "/CaloHitAnalysis/"} |
|
private |
◆ m_thistSvc
ServiceHandle<ITHistSvc> CaloHitAnalysis::m_thistSvc {this, "THitSvc", "THistSvc"} |
|
private |
◆ m_tileID
◆ m_tileMgr
◆ m_time
std::vector<float>* CaloHitAnalysis::m_time {} |
|
private |
◆ m_tree
TTree* CaloHitAnalysis::m_tree {} |
|
private |
◆ m_useLAr
BooleanProperty CaloHitAnalysis::m_useLAr {this, "UseLAr", true} |
|
private |
◆ m_useTile
BooleanProperty CaloHitAnalysis::m_useTile {this, "UseTile", true} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
bool is_tile_aux(const Identifier &id) const
TH1 * m_h_calib_eTotpartID
std::vector< float > * m_calib_z
Adaptor for CaloCalibHits.
std::vector< float > * m_calib_partID
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
std::vector< float > * m_calib_phi
std::vector< float > * m_cell_y
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
std::vector< float > * m_cell_radius
std::vector< float > * m_time
std::vector< float > * m_calib_radius
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
Identifier identify(const UncalibratedMeasurement *meas)
Returns the associated identifier.
std::vector< float > * m_calib_eTot
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
ServiceHandle< ITHistSvc > m_thistSvc
std::vector< float > * m_calib_eEsc
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
const TileDetDescrManager * m_tileMgr
std::vector< float > * m_calib_eInv
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< float > * m_calib_eNonEM
TH1 * m_h_cell_eta
Simple variables by Ketevi.
BooleanProperty m_useTile
#define CHECK(...)
Evaluate an expression and check for errors.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StringProperty m_ntupleFileName
std::vector< float > * m_cell_z
CaloDetDescrElement * get_cell_element(unsigned int cell_hash) const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::vector< float > * m_calib_eEM
std::vector< float > * m_cell_e
StatusCode initialize(bool used=true)
DataObjIDColl m_extendedExtraObjects
This class provides the client interface for accessing the detector description information common to...
def time(flags, cells_name, *args, **kw)
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
float eta() const
cell eta
AthAlgorithm()
Default constructor:
std::vector< float > * m_cell_eta
float phi() const
cell phi
std::vector< float > * m_calib_eta
Identifier cell_id(const Identifier &any_id) const
std::vector< float > * m_cell_phi
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
std::vector< float > * m_cell_x