|
ATLAS Offline Software
|
#include <GetLCDeadMaterialTree.h>
|
| GetLCDeadMaterialTree (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~GetLCDeadMaterialTree () |
|
virtual StatusCode | initialize () |
|
virtual StatusCode | execute () |
|
virtual StatusCode | finalize () |
|
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 |
|
Definition at line 33 of file GetLCDeadMaterialTree.h.
◆ moment_name_pair
◆ moment_name_vector
◆ StoreGateSvc_t
◆ GetLCDeadMaterialTree()
GetLCDeadMaterialTree::GetLCDeadMaterialTree |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~GetLCDeadMaterialTree()
GetLCDeadMaterialTree::~GetLCDeadMaterialTree |
( |
| ) |
|
|
virtual |
◆ 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 GetLCDeadMaterialTree::execute |
( |
| ) |
|
|
virtual |
Definition at line 190 of file GetLCDeadMaterialTree.cxx.
207 HepMC::GenEvent::particle_const_iterator pit = truthEvent->
at(0)->particles_begin();
211 double mc_eta =
gen->momentum().pseudoRapidity();
212 double mc_phi =
gen->momentum().phi();
221 int nClus = pClusColl->size();
235 for(
int i_cls=0; i_cls<nClus; i_cls++){
252 unsigned int iClus = 0;
253 for( ;clusIter!=clusIterEnd;++clusIter,++iClus) {
263 double mx_calib_tot=0;
266 return StatusCode::FAILURE;
271 double mx_calib_emb0=0, mx_calib_eme0=0, mx_calib_tileg3=0;
275 ATH_MSG_ERROR(
"One of the moment ENG_CALIB_EMB0, ENG_CALIB_EME0, ENG_CALIB_TILEG3 is absent" );
276 return StatusCode::FAILURE;
283 if(pClusColl->size() != pClusCollCalib->size()) {
284 ATH_MSG_WARNING(
"Different size of calibrated and uncalibrated cluster collection "
285 << pClusColl->size() <<
" " << pClusCollCalib->size() );
286 return StatusCode::SUCCESS;
302 if ( pi0Prob < 0 ) pi0Prob = 0;
303 if ( pi0Prob > 1 ) pi0Prob = 1;
312 return StatusCode::FAILURE;
317 double mx_calib_oocL;
320 return StatusCode::FAILURE;
325 double mx_calib_emfrac;
328 return StatusCode::FAILURE;
338 for(; cellIter != cellIterEnd; cellIter++ ){
339 const CaloCell* pCell = (*cellIter);
350 return StatusCode::FAILURE;
367 return StatusCode::FAILURE;
419 return StatusCode::FAILURE;
433 double edm_uncorrected = 0.0;
457 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();
◆ finalize()
StatusCode GetLCDeadMaterialTree::finalize |
( |
| ) |
|
|
virtual |
◆ initialize()
StatusCode GetLCDeadMaterialTree::initialize |
( |
| ) |
|
|
virtual |
Definition at line 105 of file GetLCDeadMaterialTree.cxx.
129 ATH_MSG_FATAL(
" Error while initializing default dead material coefficients " );
130 return StatusCode::FAILURE;
145 return StatusCode::FAILURE;
167 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_calo_id
◆ m_clusterCollName
◆ m_clusterCollNameCalib
◆ m_data
◆ m_detStore
◆ m_doSaveCalibClusInfo
bool GetLCDeadMaterialTree::m_doSaveCalibClusInfo |
|
private |
◆ m_energyMin
double GetLCDeadMaterialTree::m_energyMin |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_HadDMCoeff
◆ m_HadDMCoeffInitFile
std::string GetLCDeadMaterialTree::m_HadDMCoeffInitFile |
|
private |
Name of text file with initial parameters for coefficients calculation.
File contains binning info for cluster's emfrac, log10ener, log10lambda and eta to recover energy losses in specific dead material zones
Definition at line 49 of file GetLCDeadMaterialTree.h.
◆ m_momentForDMArea
◆ m_outputFile
TFile* GetLCDeadMaterialTree::m_outputFile |
|
private |
Output file to save tree in.
Internal variable pointing to the output file.
Definition at line 68 of file GetLCDeadMaterialTree.h.
◆ m_outputFileName
std::string GetLCDeadMaterialTree::m_outputFileName |
|
private |
Name of the output file to save tree in.
Use this property to set the name of the output file containing the DM data tree.
Definition at line 62 of file GetLCDeadMaterialTree.h.
◆ m_outputTree
TTree* GetLCDeadMaterialTree::m_outputTree |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
virtual double phi() const
The azimuthal angle ( ) of the particle.
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clusterCollName
Name of the uncalibrated CaloClusterContainer to use.
@ ENG_CALIB_DEAD_UNCLASS
Attached Calibration Hit energy in dead material in unclassified areas of the detector.
const_cell_iterator cell_begin() const
Iterator of the underlying CaloClusterCellLink (const version)
Const iterator class for DataVector/DataList.
std::vector< std::vector< double > > * m_cls_dmener
std::string m_outputFileName
Name of the output file to save tree in.
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
@ EM_PROBABILITY
Classification probability to be em-like.
std::vector< double > * m_cls_lambda
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
@ ENG_CALIB_DEAD_LEAKAGE
Attached Calibration Hit energy in dead material behind calorimeters.
TTree * MakeTree(const char *treename)
std::string m_HadDMCoeffInitFile
Name of text file with initial parameters for coefficients calculation.
@ ENG_CALIB_TILEG3
Calibration Hit energy inside the cluster scintillator.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
virtual double e() const override final
get energy (data member) (synonym to method energy()
@ ENG_CALIB_EMB0
Calibration Hit energy inside the cluster barrel presampler.
int getSizeAreaSet() const
return number of areas defined for this data set
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
@ ENG_CALIB_DEAD_TILE0
Attached Calibration Hit energy in dead material between EMB3 and TILE0.
const CaloCell_ID * m_calo_id
std::vector< double > * m_cls_phi
std::vector< double > * m_cls_eta
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
std::vector< double > * m_cls_ener
MomentType
Enums to identify different moments.
CaloLocalHadCoeff * InitDataFromFile(const char *fname)
CaloHadDMCoeffData * m_data
data to save into the tree
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
std::vector< double > * m_cls_isol
Description of a calorimeter cluster.
virtual StatusCode sysInitialize() override
Override sysInitialize.
std::vector< std::vector< double > > * m_cls_smpener
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
virtual double eta() const
The pseudorapidity ( ) of the particle.
std::vector< double > * m_cls_ener_unw
std::pair< std::string, xAOD::CaloCluster::MomentType > moment_name_pair
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< int > * m_cls_recostat
@ ENG_CALIB_TOT
Calibration Hit energy inside the cluster.
@ ENG_CALIB_FRAC_EM
Calibration Hit energy inside the cluster caused by e/gamma/pi0.
@ ISOLATION
Energy weighted fraction of non-clustered perimeter cells.
std::vector< std::vector< double > > * m_cls_smpener_unw
Data to read from special DeadMaterialTree.
@ ENG_CALIB_DEAD_FCAL
Attached Calibration Hit energy in dead material before FCAL, between FCAL and HEC.
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
std::vector< xAOD::CaloCluster::MomentType > m_momentForDMArea
std::vector< double > * m_cls_engcalibpres
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const GenParticle * ConstGenParticlePtr
@ ENG_CALIB_EME0
Calibration Hit energy inside the cluster endcap presampler.
std::vector< double > * m_cls_calib_emfrac
CaloRecoStatus & recoStatus()
Accesssor to CaloRecoStatus (non-const)
std::vector< double > * m_cls_engcalib
@ ENG_CALIB_DEAD_HEC0
Attached Calibration Hit energy in dead material between EME3 and HEC0.
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
std::vector< moment_name_pair > moment_name_vector
@ ENG_CALIB_DEAD_TILEG3
Attached Calibration Hit energy in dead material before scintillator.
DataObjIDColl m_extendedExtraObjects
float eSample(const CaloSample sampling) const
Data object for each calorimeter readout cell.
TFile * m_outputFile
Output file to save tree in.
#define ATH_MSG_WARNING(x)
const std::string & getTitle() const
return name
const_cell_iterator cell_end() const
std::vector< std::vector< double > > * m_cls_eprep
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual const store_type & getStatusWord() const
retrieve the entire status word
std::vector< double > * m_cls_oocener
TTree * m_outputTree
Output tree.
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clusterCollNameCalib
Name of the calibrated CaloClusterContainer to use.
AthAlgorithm()
Default constructor:
std::vector< double > * m_cls_pi0prob
const LocalHadArea * getArea(int n_area) const
return area
@ ENG_CALIB_OUT_L
Attached Calibration Hit energy outside clusters but inside the calorimeter with loose matching (Angl...
@ ENG_CALIB_DEAD_EME0
Attached Calibration Hit energy in dead material before EME0, between EME0 and EME1.
const T * at(size_type n) const
Access an element, as an rvalue.
Double_t m_engClusSumCalib
const_iterator to loop over cells belonging to a cluster
bool m_doSaveCalibClusInfo
save additional cluster info from calibrated collections
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
reconstruction status indicator
virtual double e() const
The total energy of the particle.
CaloLocalHadCoeff * m_HadDMCoeff
Collection of dead material correction coeffitients.
@ ENG_CALIB_DEAD_EMB0
Attached Calibration Hit energy in dead material before EMB0, between EMB0 and EMB1.
Int_t m_ncls
current Tree number in a TChain