|
ATLAS Offline Software
|
#include <ISF_HitAnalysis.h>
|
| ISF_HitAnalysis (const std::string &name, ISvcLocator *pSvcLocator) |
|
| ~ISF_HitAnalysis () |
|
virtual StatusCode initialize | ATLAS_NOT_THREAD_SAFE () override |
|
virtual StatusCode finalize | ATLAS_NOT_THREAD_SAFE () override |
|
virtual StatusCode | execute () override |
|
StatusCode | updateMetaData (IOVSVC_CALLBACK_ARGS) |
|
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 |
|
|
ServiceHandle< IGeoModelSvc > | m_geoModel |
|
SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey |
|
SG::ReadCondHandleKey< ILArfSampl > | m_fSamplKey |
|
SG::ReadCondHandleKey< TileSamplingFraction > | m_tileSamplingFractionKey |
| Name of TileSamplingFraction in condition store. More...
|
|
ServiceHandle< TileCablingSvc > | m_tileCablingSvc |
| Name of Tile cabling service. More...
|
|
StringProperty | m_ntupleFileName {this, "NtupleFileName", "ISF_HitAnalysis"} |
|
StringProperty | m_ntupleTreeName {this, "NtupleTreeName", "CaloHitAna"} |
|
StringProperty | m_metadataTreeName {this, "MetadataTreeName", "MetaData"} |
|
StringProperty | m_geoFileName {this, "GeoFileName", "ISF_Geometry"} |
|
IntegerProperty | m_NtruthParticles {this, "NTruthParticles", 1, "Number of truth particles saved from the truth collection, -1 to save all"} |
|
ServiceHandle< ITHistSvc > | m_thistSvc |
|
PublicToolHandle< Trk::ITimedExtrapolator > | m_extrapolator {this, "Extrapolator", {}} |
|
PublicToolHandle< ICaloCoordinateTool > | m_calo_tb_coord {this, "CaloCoordinateTool", "TBCaloCoordinate"} |
|
StringProperty | m_caloEntranceName {this, "CaloEntrance", ""} |
|
PublicToolHandle< IFastCaloSimCaloExtrapolation > | m_FastCaloSimCaloExtrapolation {this, "FastCaloSimCaloExtrapolation", {} } |
| The FastCaloSimCaloExtrapolation tool. More...
|
|
DoubleProperty | m_CaloBoundaryR {this, "CaloBoundaryR", 1148} |
|
DoubleProperty | m_CaloBoundaryZ {this, "CaloBoundaryZ", 3550} |
|
DoubleProperty | m_calomargin {this, "CaloMargin", 0.0} |
|
BooleanProperty | m_saveAllBranches {this,"SaveAllBranches", false} |
|
BooleanProperty | m_doAllCells {this, "DoAllCells", false} |
|
BooleanProperty | m_doClusterInfo {this, "DoClusterInfo", false} |
|
BooleanProperty | m_doLayers {this, "DoLayers", false} |
|
BooleanProperty | m_doLayerSums {this, "DoLayerSums", true} |
|
BooleanProperty | m_doG4Hits {this, "DoG4Hits", false} |
|
IntegerProperty | m_TimingCut {this, "TimingCut", 999999} |
|
StringProperty | m_MC_DIGI_PARAM {this, "MetaDataDigi", "/Digitization/Parameters"} |
|
StringProperty | m_MC_SIM_PARAM {this, "MetaDataSim", "/Simulation/Parameters"} |
|
const LArEM_ID * | m_larEmID {} |
|
const LArFCAL_ID * | m_larFcalID {} |
|
const LArHEC_ID * | m_larHecID {} |
|
const TileID * | m_tileID {} |
|
const TileHWID * | m_tileHWID {} |
|
const TileCablingService * | m_tileCabling {} |
|
const TileDetDescrManager * | m_tileMgr {} |
|
std::vector< float > * | m_hit_x {} |
| Simple variables by Ketevi. More...
|
|
std::vector< float > * | m_hit_y {} |
|
std::vector< float > * | m_hit_z {} |
|
std::vector< float > * | m_hit_energy {} |
|
std::vector< float > * | m_hit_time {} |
|
std::vector< Long64_t > * | m_hit_identifier {} |
|
std::vector< Long64_t > * | m_hit_cellidentifier {} |
|
std::vector< bool > * | m_islarbarrel {} |
|
std::vector< bool > * | m_islarendcap {} |
|
std::vector< bool > * | m_islarhec {} |
|
std::vector< bool > * | m_islarfcal {} |
|
std::vector< bool > * | m_istile {} |
|
std::vector< int > * | m_hit_sampling {} |
|
std::vector< float > * | m_hit_samplingfraction {} |
|
std::vector< float > * | m_truth_energy {} |
|
std::vector< float > * | m_truth_px {} |
|
std::vector< float > * | m_truth_py {} |
|
std::vector< float > * | m_truth_pz {} |
|
std::vector< int > * | m_truth_pdg {} |
|
std::vector< int > * | m_truth_barcode {} |
|
std::vector< int > * | m_truth_vtxbarcode {} |
|
std::vector< float > * | m_cluster_energy {} |
|
std::vector< float > * | m_cluster_eta {} |
|
std::vector< float > * | m_cluster_phi {} |
|
std::vector< unsigned > * | m_cluster_size {} |
|
std::vector< std::vector< Long64_t > > * | m_cluster_cellID {} |
|
std::vector< Long64_t > * | m_cell_identifier {} |
|
std::vector< float > * | m_cell_energy {} |
|
std::vector< int > * | m_cell_sampling {} |
|
std::vector< float > * | m_g4hit_energy {} |
|
std::vector< float > * | m_g4hit_time {} |
|
std::vector< Long64_t > * | m_g4hit_identifier {} |
|
std::vector< Long64_t > * | m_g4hit_cellidentifier {} |
|
std::vector< float > * | m_g4hit_samplingfraction {} |
|
std::vector< int > * | m_g4hit_sampling {} |
|
FCS_matchedcellvector * | m_oneeventcells = nullptr |
|
FCS_matchedcellvector * | m_layercells [MAX_LAYER] {} |
|
Float_t | m_total_cell_e {} |
|
Float_t | m_total_hit_e {} |
|
Float_t | m_total_g4hit_e {} |
|
std::vector< Float_t > * | m_final_cell_energy {} |
|
std::vector< Float_t > * | m_final_hit_energy {} |
|
std::vector< Float_t > * | m_final_g4hit_energy {} |
|
TTree * | m_tree {} |
|
double | m_eta_calo_surf {} |
|
double | m_phi_calo_surf {} |
|
double | m_d_calo_surf {} |
|
double | m_ptruth_eta {} |
|
double | m_ptruth_phi {} |
|
double | m_ptruth_e {} |
|
double | m_ptruth_et {} |
|
double | m_ptruth_pt {} |
|
double | m_ptruth_p {} |
|
int | m_pdgid {} |
|
std::vector< std::vector< float > > * | m_newTTC_entrance_eta {} |
|
std::vector< std::vector< float > > * | m_newTTC_entrance_phi {} |
|
std::vector< std::vector< float > > * | m_newTTC_entrance_r {} |
|
std::vector< std::vector< float > > * | m_newTTC_entrance_z {} |
|
std::vector< std::vector< float > > * | m_newTTC_entrance_detaBorder {} |
|
std::vector< std::vector< bool > > * | m_newTTC_entrance_OK {} |
|
std::vector< std::vector< float > > * | m_newTTC_back_eta {} |
|
std::vector< std::vector< float > > * | m_newTTC_back_phi {} |
|
std::vector< std::vector< float > > * | m_newTTC_back_r {} |
|
std::vector< std::vector< float > > * | m_newTTC_back_z {} |
|
std::vector< std::vector< float > > * | m_newTTC_back_detaBorder {} |
|
std::vector< std::vector< bool > > * | m_newTTC_back_OK {} |
|
std::vector< std::vector< float > > * | m_newTTC_mid_eta {} |
|
std::vector< std::vector< float > > * | m_newTTC_mid_phi {} |
|
std::vector< std::vector< float > > * | m_newTTC_mid_r {} |
|
std::vector< std::vector< float > > * | m_newTTC_mid_z {} |
|
std::vector< std::vector< float > > * | m_newTTC_mid_detaBorder {} |
|
std::vector< std::vector< bool > > * | m_newTTC_mid_OK {} |
|
std::vector< float > * | m_newTTC_IDCaloBoundary_eta {} |
|
std::vector< float > * | m_newTTC_IDCaloBoundary_phi {} |
|
std::vector< float > * | m_newTTC_IDCaloBoundary_r {} |
|
std::vector< float > * | m_newTTC_IDCaloBoundary_z {} |
|
std::vector< float > * | m_newTTC_Angle3D {} |
|
std::vector< float > * | m_newTTC_AngleEta {} |
|
std::vector< float > * | m_MuonEntryLayer_E {} |
|
std::vector< float > * | m_MuonEntryLayer_px {} |
|
std::vector< float > * | m_MuonEntryLayer_py {} |
|
std::vector< float > * | m_MuonEntryLayer_pz {} |
|
std::vector< float > * | m_MuonEntryLayer_x {} |
|
std::vector< float > * | m_MuonEntryLayer_y {} |
|
std::vector< float > * | m_MuonEntryLayer_z {} |
|
std::vector< int > * | m_MuonEntryLayer_pdg {} |
|
CxxUtils::CachedPointer< const Trk::TrackingVolume > | m_caloEntrance |
| The new Extrapolator setup. More...
|
|
Trk::PdgToParticleHypothesis | m_pdgToParticleHypothesis |
|
CaloCell_ID_FCS::CaloSample | m_sample_calo_surf {CaloCell_ID_FCS::noSample} |
| End new Extrapolator setup. More...
|
|
std::vector< CaloCell_ID_FCS::CaloSample > | m_surfacelist |
|
bool | m_layerCaloOK [CaloCell_ID_FCS::MaxSample][3] {} |
|
double | m_letaCalo [CaloCell_ID_FCS::MaxSample][3] {} |
|
double | m_lphiCalo [CaloCell_ID_FCS::MaxSample][3] {} |
|
double | m_lrCalo [CaloCell_ID_FCS::MaxSample][3] {} |
|
double | m_lzCalo [CaloCell_ID_FCS::MaxSample][3] {} |
|
double | m_dCalo [CaloCell_ID_FCS::MaxSample][3] {} |
|
double | m_distetaCaloBorder [CaloCell_ID_FCS::MaxSample][3] {} |
|
ServiceHandle< IPartPropSvc > | m_partPropSvc {this, "PartPropSvc", "PartPropSvc"} |
| Handle on the particle property service. More...
|
|
HepPDT::ParticleDataTable * | m_particleDataTable {} |
|
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 65 of file ISF_HitAnalysis.h.
◆ StoreGateSvc_t
◆ ISF_HitAnalysis()
ISF_HitAnalysis::ISF_HitAnalysis |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~ISF_HitAnalysis()
ISF_HitAnalysis::~ISF_HitAnalysis |
( |
| ) |
|
|
default |
◆ ATLAS_NOT_THREAD_SAFE() [1/2]
virtual StatusCode initialize ISF_HitAnalysis::ATLAS_NOT_THREAD_SAFE |
( |
| ) |
|
|
overridevirtual |
◆ ATLAS_NOT_THREAD_SAFE() [2/2]
virtual StatusCode finalize ISF_HitAnalysis::ATLAS_NOT_THREAD_SAFE |
( |
| ) |
|
|
overridevirtual |
◆ caloHits()
Definition at line 1366 of file ISF_HitAnalysis.cxx.
1369 ATH_MSG_DEBUG (
"[ fastCaloSim transport ] processing particle "<<
part.pdg_id() );
1371 std::vector<Trk::HitInfo>*
hitVector =
new std::vector<Trk::HitInfo>;
1373 int pdgId =
part.pdg_id();
1384 auto vtx =
part.production_vertex();
1389 pos =
Amg::Vector3D( vtx->position().x(),vtx->position().y(), vtx->position().z());
1393 ATH_MSG_DEBUG(
"[ fastCaloSim transport ] starting transport from position eta="<<
pos.eta()<<
" phi="<<
pos.phi()<<
" d="<<
pos.mag()<<
" pT="<<
mom.perp() );
1400 double freepath = -1.;
1403 double tDec = freepath > 0. ? freepath : -1.;
1437 ATH_MSG_DEBUG(
"[ fastCaloSim transport ] before calo entrance ");
1449 ATH_MSG_DEBUG(
"[ fastCaloSim transport ] after calo entrance ");
1451 std::unique_ptr<const Trk::TrackParameters> caloEntry =
nullptr;
1455 std::vector<Trk::HitInfo>* dummyHitVector =
nullptr;
1477 caloEntry = inputPar.uniqueClone();
1480 ATH_MSG_DEBUG(
"[ fastCaloSim transport ] after calo caloEntry ");
1484 std::unique_ptr<const Trk::TrackParameters> eParameters =
nullptr;
1489 ATH_MSG_DEBUG(
"[ fastCaloSim transport ] starting Calo transport from position eta="<<caloEntry->
position().eta()<<
" phi="<<caloEntry->
position().phi()<<
" d="<<caloEntry->
position().mag() );
1501 eParameters =
m_extrapolator->extrapolateWithPathLimit(*caloEntry,
1510 if (eParameters)
hitVector->push_back(
Trk::HitInfo(std::move(eParameters),timeLim.time,nextGeoID,0.));
1517 while (it < hitVector->
end() )
1521 ATH_MSG_DEBUG(
" HIT: layer="<<
sample<<
" sample="<<
sample-3000<<
" eta="<<hitPos.eta()<<
" phi="<<hitPos.phi()<<
" d="<<hitPos.mag());
◆ 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 ISF_HitAnalysis::execute |
( |
| ) |
|
|
overridevirtual |
Definition at line 519 of file ISF_HitAnalysis.cxx.
527 return StatusCode::FAILURE;
534 ATH_CHECK( tileSamplingFraction.isValid() );
539 vectest.SetPtEtaPhi(1.,1.,1.);
577 std::map<Long64_t, FCS_cell>
cells;
578 std::map<Long64_t, std::vector<FCS_g4hit> > g4hits;
579 std::map<Long64_t, std::vector<FCS_hit> >
hits;
639 if (
sc.isFailure()) {
645 m_hit_x->push_back( (*it)->x() );
646 m_hit_y->push_back( (*it)->y() );
647 m_hit_z->push_back( (*it)->z() );
652 bool larbarrel=
false;
653 bool larendcap=
false;
675 sampfrac = tileSamplingFraction->getSamplingFraction(drawerIdx,
channel);
696 Int_t tile_sampling = -1;
700 if(tile_sampling!= -1) sampling = tile_sampling;
722 sc =
evtStore()->retrieve(mcEvent,
"TruthEvent");
728 if(!mcEvent->
empty()) {
731 int particles_size=(*mcEvent->
begin())->particles_size();
733 loopEnd = particles_size;
736 for (
const auto&
part: *(*mcEvent->
begin()))
738 for (
const auto part: *(*mcEvent->
begin()))
742 ATH_MSG_DEBUG(
"Number truth particles="<<particles_size<<
" loopEnd="<<loopEnd);
745 if (particleIndex>loopEnd)
break;
753 moment.SetXYZ(
part->momentum().px(),
part->momentum().py(),
part->momentum().pz());
754 TVector3 direction=moment.Unit();
766 if((
part)->production_vertex()) {
767 truth.set_vertex((
part)->production_vertex()->position().
x(), (
part)->production_vertex()->position().
y(), (
part)->production_vertex()->position().
z());
769 truth.set_vertex(direction.X(),direction.Y(),direction.Z());
770 ATH_MSG_WARNING(
"No particle production vetext, use VERTEX from direction: x "<<direction.X()<<
" y "<<direction.Y()<<
" z "<<direction.Z());
773 if( std::abs(direction.X()-truth.vertex().X())>0.1 || std::abs(direction.Y()-truth.vertex().Y())>0.1 || std::abs(direction.Z()-truth.vertex().Z())>0.1 ) {
774 ATH_MSG_WARNING(
"VERTEX from direction: x "<<direction.X()<<
" y "<<direction.Y()<<
" z "<<direction.Z());
775 ATH_MSG_WARNING(
"but VERTEX from hepmc: x "<<truth.vertex().X()<<
" y "<<truth.vertex().Y()<<
" z "<<truth.vertex().Z());
797 std::vector<float> eta_vec_ENT;
798 std::vector<float> phi_vec_ENT;
799 std::vector<float> r_vec_ENT;
800 std::vector<float> z_vec_ENT;
801 std::vector<float> detaBorder_vec_ENT;
802 std::vector<bool> OK_vec_ENT;
804 std::vector<float> eta_vec_EXT;
805 std::vector<float> phi_vec_EXT;
806 std::vector<float> r_vec_EXT;
807 std::vector<float> z_vec_EXT;
808 std::vector<float> detaBorder_vec_EXT;
809 std::vector<bool> OK_vec_EXT;
811 std::vector<float> eta_vec_MID;
812 std::vector<float> phi_vec_MID;
813 std::vector<float> r_vec_MID;
814 std::vector<float> z_vec_MID;
815 std::vector<float> detaBorder_vec_MID;
816 std::vector<bool> OK_vec_MID;
879 sc =
evtStore()->retrieve(MuonEntry,
"MuonEntryLayer");
901 std::string clusterContainerName =
"CaloCalTopoClusters";
902 sc =
evtStore()->retrieve(theClusters, clusterContainerName);
903 if (
sc.isFailure()) {
904 ATH_MSG_WARNING(
" Couldn't get cluster container '" << clusterContainerName <<
"'");
905 return StatusCode::SUCCESS;
909 for ( ; itrClus!=itrLastClus; ++itrClus){
927 unsigned cellcount = 0;
928 std::vector<Long64_t> cellIDs_in_cluster;
931 for ( ;cellIter !=cellIterEnd;cellIter++) {
934 cellIDs_in_cluster.push_back(
cell->ID().get_compact());
935 float EnergyCell=
cell->energy();
944 sc =
evtStore()->retrieve(cellColl,
"AllCalo");
955 for ( ; itrCell!=itrLastCell; ++itrCell)
963 else if (calo_dd_man->
get_element((*itrCell)->ID()))
975 std::string lArKey [4] = {
"LArHitEMB",
"LArHitEMEC",
"LArHitFCAL",
"LArHitHEC"};
976 for (
unsigned int i=0;
i<4;
i++)
984 for (hi=(*iter).begin();hi!=(*iter).end();++hi) {
986 const LArHit* larHit = *hi;
994 float larsampfrac=fSampl->
FSAMPL(larhitid);
1003 ATH_MSG_INFO(
"Read "<<hitnumber<<
" G4Hits from "<<lArKey[
i]);
1028 float tilesampfrac = tileSamplingFraction->getSamplingFraction(drawerIdx,
channel);
1031 for (
int tilesubhit_i = 0; tilesubhit_i<(*i_hit).size(); tilesubhit_i++)
1034 m_g4hit_time->push_back( (*i_hit).time(tilesubhit_i) );
1042 ATH_MSG_INFO(
"Read "<<hitnumber<<
" G4Hits from TileHitVec");
1052 one_cell.cell_identifier = (*m_cell_identifier)[cell_i];
1053 one_cell.sampling = (*m_cell_sampling)[cell_i];
1054 one_cell.energy = (*m_cell_energy)[cell_i];
1055 one_cell.center_x = 0.0;
1056 one_cell.center_y = 0.0;
1057 one_cell.center_z = 0.0;
1058 cells.insert(std::pair<Long64_t, FCS_cell>(one_cell.cell_identifier, one_cell));
1080 one_g4hit.identifier = (*m_g4hit_identifier)[g4hit_i];
1081 one_g4hit.cell_identifier = (*m_g4hit_cellidentifier)[g4hit_i];
1082 one_g4hit.sampling = (*m_g4hit_sampling)[g4hit_i];
1083 one_g4hit.hit_time = (*m_g4hit_time)[g4hit_i];
1085 if (one_g4hit.sampling >= 12 && one_g4hit.sampling <= 20)
1089 one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] * (*m_g4hit_samplingfraction)[g4hit_i];
1091 else one_g4hit.hit_energy = 0.;
1095 one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] / (*m_g4hit_samplingfraction)[g4hit_i];
1097 g4hits.insert(std::pair<Long64_t, std::vector<FCS_g4hit> >(one_g4hit.cell_identifier, std::vector<FCS_g4hit>(1, one_g4hit)));
1102 one_g4hit.identifier = (*m_g4hit_identifier)[g4hit_i];
1103 one_g4hit.cell_identifier = (*m_g4hit_cellidentifier)[g4hit_i];
1104 one_g4hit.sampling = (*m_g4hit_sampling)[g4hit_i];
1105 one_g4hit.hit_time = (*m_g4hit_time)[g4hit_i];
1106 if (one_g4hit.sampling >= 12 && one_g4hit.sampling <= 20)
1110 one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] * (*m_g4hit_samplingfraction)[g4hit_i];
1112 else one_g4hit.hit_energy = 0.;
1116 one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] / (*m_g4hit_samplingfraction)[g4hit_i];
1118 g4hits[(*m_g4hit_cellidentifier)[g4hit_i]].push_back(one_g4hit);
1134 one_hit.identifier = (*m_hit_identifier)[hit_i];
1135 one_hit.cell_identifier = (*m_hit_cellidentifier)[hit_i];
1136 one_hit.sampling = (*m_hit_sampling)[hit_i];
1138 if (one_hit.sampling >= 12 && one_hit.sampling <= 20)
1142 one_hit.hit_energy = (*m_hit_energy)[hit_i] * (*m_hit_samplingfraction)[hit_i];
1144 else one_hit.hit_energy = 0.;
1148 one_hit.hit_energy = (*m_hit_energy)[hit_i] / (*m_hit_samplingfraction)[hit_i];
1151 one_hit.hit_time = (*m_hit_time)[hit_i];
1152 one_hit.hit_x = (*m_hit_x)[hit_i];
1153 one_hit.hit_y = (*m_hit_y)[hit_i];
1154 one_hit.hit_z = (*m_hit_z)[hit_i];
1155 hits.insert(std::pair<Long64_t, std::vector<FCS_hit> >(one_hit.cell_identifier, std::vector<FCS_hit>(1, one_hit)));
1160 one_hit.identifier = (*m_hit_identifier)[hit_i];
1161 one_hit.cell_identifier = (*m_hit_cellidentifier)[hit_i];
1162 one_hit.sampling = (*m_hit_sampling)[hit_i];
1164 if (one_hit.sampling >= 12 && one_hit.sampling <= 20)
1168 one_hit.hit_energy = (*m_hit_energy)[hit_i] * (*m_hit_samplingfraction)[hit_i];
1170 else one_hit.hit_energy = 0.;
1174 one_hit.hit_energy = (*m_hit_energy)[hit_i] / (*m_hit_samplingfraction)[hit_i];
1177 one_hit.hit_time = (*m_hit_time)[hit_i];
1178 one_hit.hit_x = (*m_hit_x)[hit_i];
1179 one_hit.hit_y = (*m_hit_y)[hit_i];
1180 one_hit.hit_z = (*m_hit_z)[hit_i];
1181 hits[(*m_hit_cellidentifier)[hit_i]].push_back(one_hit);
1188 one_matchedcell.
clear();
1190 one_matchedcell.
cell =
it->second;
1192 std::map<Long64_t, std::vector<FCS_hit> >
::iterator it2 =
hits.find(
it->first);
1193 if (it2 !=
hits.end())
1196 one_matchedcell.
hit = it2->second;
1202 one_matchedcell.
hit.clear();
1205 std::map<Long64_t, std::vector<FCS_g4hit> >
::iterator it3 = g4hits.find(
it->first);
1206 if (it3 != g4hits.end())
1208 one_matchedcell.
g4hit = it3->second;
1214 one_matchedcell.
g4hit.clear();
1223 ATH_MSG_DEBUG(
"ISF_HitAnalysis Check after cells: " <<
cells.size() <<
" " << g4hits.size() <<
" " <<
hits.size());
1227 one_matchedcell.
clear();
1230 if (!
it->second.empty())
1244 one_matchedcell.
hit =
it->second;
1245 std::map<Long64_t, std::vector<FCS_g4hit> >
::iterator it3 = g4hits.find(
it->first);
1246 if (it3 != g4hits.end())
1248 one_matchedcell.
g4hit = it3->second;
1254 one_matchedcell.
g4hit.clear();
1262 ATH_MSG_DEBUG(
"ISF_HitAnalysis Check after hits: " <<
cells.size() <<
" " << g4hits.size() <<
" " <<
hits.size());
1263 for (std::map<Long64_t, std::vector<FCS_g4hit> >::
iterator it = g4hits.begin();
it != g4hits.end();)
1265 one_matchedcell.
clear();
1267 if (!
it->second.empty())
1281 one_matchedcell.
g4hit =
it->second;
1282 one_matchedcell.
hit.clear();
1305 for (
unsigned int cellindex = 0; cellindex <
m_layercells[
i]->
size(); cellindex++)
1362 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();
◆ extrapolate()
◆ extrapolate_to_ID()
◆ 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.
◆ updateMetaData()
Definition at line 79 of file ISF_HitAnalysis.cxx.
84 bool run_update =
false;
89 std::list< std::string >::const_iterator itr =
keys.begin();
90 std::list< std::string >::const_iterator
end =
keys.end();
91 for( ; itr !=
end; ++itr )
98 if( ! run_update )
return StatusCode::SUCCESS;
107 AthenaAttributeList::const_iterator attr_itr = simParam->begin();
108 AthenaAttributeList::const_iterator attr_end = simParam->end();
109 for( ; attr_itr != attr_end; ++attr_itr )
111 std::stringstream outstr;
112 attr_itr->toOutputStream(outstr);
117 return StatusCode::SUCCESS;
◆ updateVHKA()
◆ m_calo_tb_coord
◆ m_CaloBoundaryR
DoubleProperty ISF_HitAnalysis::m_CaloBoundaryR {this, "CaloBoundaryR", 1148} |
|
private |
◆ m_CaloBoundaryZ
DoubleProperty ISF_HitAnalysis::m_CaloBoundaryZ {this, "CaloBoundaryZ", 3550} |
|
private |
◆ m_caloEntrance
◆ m_caloEntranceName
StringProperty ISF_HitAnalysis::m_caloEntranceName {this, "CaloEntrance", ""} |
|
private |
◆ m_calomargin
DoubleProperty ISF_HitAnalysis::m_calomargin {this, "CaloMargin", 0.0} |
|
private |
◆ m_caloMgrKey
Initial value:{ this
, "CaloDetDescrManager"
, "CaloDetDescrManager"
, "SG Key for CaloDetDescrManager in the Condition Store" }
Definition at line 88 of file ISF_HitAnalysis.h.
◆ m_cell_energy
std::vector<float>* ISF_HitAnalysis::m_cell_energy {} |
|
private |
◆ m_cell_identifier
std::vector<Long64_t>* ISF_HitAnalysis::m_cell_identifier {} |
|
private |
◆ m_cell_sampling
std::vector<int>* ISF_HitAnalysis::m_cell_sampling {} |
|
private |
◆ m_cluster_cellID
std::vector<std::vector<Long64_t > >* ISF_HitAnalysis::m_cluster_cellID {} |
|
private |
◆ m_cluster_energy
std::vector<float>* ISF_HitAnalysis::m_cluster_energy {} |
|
private |
◆ m_cluster_eta
std::vector<float>* ISF_HitAnalysis::m_cluster_eta {} |
|
private |
◆ m_cluster_phi
std::vector<float>* ISF_HitAnalysis::m_cluster_phi {} |
|
private |
◆ m_cluster_size
std::vector<unsigned>* ISF_HitAnalysis::m_cluster_size {} |
|
private |
◆ m_d_calo_surf
double ISF_HitAnalysis::m_d_calo_surf {} |
|
private |
◆ m_dCalo
◆ m_detStore
◆ m_distetaCaloBorder
◆ m_doAllCells
BooleanProperty ISF_HitAnalysis::m_doAllCells {this, "DoAllCells", false} |
|
private |
◆ m_doClusterInfo
BooleanProperty ISF_HitAnalysis::m_doClusterInfo {this, "DoClusterInfo", false} |
|
private |
◆ m_doG4Hits
BooleanProperty ISF_HitAnalysis::m_doG4Hits {this, "DoG4Hits", false} |
|
private |
◆ m_doLayers
BooleanProperty ISF_HitAnalysis::m_doLayers {this, "DoLayers", false} |
|
private |
◆ m_doLayerSums
BooleanProperty ISF_HitAnalysis::m_doLayerSums {this, "DoLayerSums", true} |
|
private |
◆ m_eta_calo_surf
double ISF_HitAnalysis::m_eta_calo_surf {} |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_extrapolator
◆ m_FastCaloSimCaloExtrapolation
◆ m_final_cell_energy
std::vector<Float_t>* ISF_HitAnalysis::m_final_cell_energy {} |
|
private |
◆ m_final_g4hit_energy
std::vector<Float_t>* ISF_HitAnalysis::m_final_g4hit_energy {} |
|
private |
◆ m_final_hit_energy
std::vector<Float_t>* ISF_HitAnalysis::m_final_hit_energy {} |
|
private |
◆ m_fSamplKey
Initial value:{this,
"fSamplKey", "LArfSamplSym", "SG Key of LArfSampl object"}
Definition at line 92 of file ISF_HitAnalysis.h.
◆ m_g4hit_cellidentifier
std::vector<Long64_t>* ISF_HitAnalysis::m_g4hit_cellidentifier {} |
|
private |
◆ m_g4hit_energy
std::vector<float>* ISF_HitAnalysis::m_g4hit_energy {} |
|
private |
◆ m_g4hit_identifier
std::vector<Long64_t>* ISF_HitAnalysis::m_g4hit_identifier {} |
|
private |
◆ m_g4hit_sampling
std::vector<int>* ISF_HitAnalysis::m_g4hit_sampling {} |
|
private |
◆ m_g4hit_samplingfraction
std::vector<float>* ISF_HitAnalysis::m_g4hit_samplingfraction {} |
|
private |
◆ m_g4hit_time
std::vector<float>* ISF_HitAnalysis::m_g4hit_time {} |
|
private |
◆ m_geoFileName
StringProperty ISF_HitAnalysis::m_geoFileName {this, "GeoFileName", "ISF_Geometry"} |
|
private |
◆ m_geoModel
Initial value:{this,
"GeoModelSvc", "GeoModelSvc", "GeoModel service"}
Definition at line 86 of file ISF_HitAnalysis.h.
◆ m_hit_cellidentifier
std::vector<Long64_t>* ISF_HitAnalysis::m_hit_cellidentifier {} |
|
private |
◆ m_hit_energy
std::vector<float>* ISF_HitAnalysis::m_hit_energy {} |
|
private |
◆ m_hit_identifier
std::vector<Long64_t>* ISF_HitAnalysis::m_hit_identifier {} |
|
private |
◆ m_hit_sampling
std::vector<int>* ISF_HitAnalysis::m_hit_sampling {} |
|
private |
◆ m_hit_samplingfraction
std::vector<float>* ISF_HitAnalysis::m_hit_samplingfraction {} |
|
private |
◆ m_hit_time
std::vector<float>* ISF_HitAnalysis::m_hit_time {} |
|
private |
◆ m_hit_x
std::vector<float>* ISF_HitAnalysis::m_hit_x {} |
|
private |
◆ m_hit_y
std::vector<float>* ISF_HitAnalysis::m_hit_y {} |
|
private |
◆ m_hit_z
std::vector<float>* ISF_HitAnalysis::m_hit_z {} |
|
private |
◆ m_islarbarrel
std::vector<bool>* ISF_HitAnalysis::m_islarbarrel {} |
|
private |
◆ m_islarendcap
std::vector<bool>* ISF_HitAnalysis::m_islarendcap {} |
|
private |
◆ m_islarfcal
std::vector<bool>* ISF_HitAnalysis::m_islarfcal {} |
|
private |
◆ m_islarhec
std::vector<bool>* ISF_HitAnalysis::m_islarhec {} |
|
private |
◆ m_istile
std::vector<bool>* ISF_HitAnalysis::m_istile {} |
|
private |
◆ m_larEmID
◆ m_larFcalID
◆ m_larHecID
◆ m_layerCaloOK
◆ m_layercells
◆ m_letaCalo
◆ m_lphiCalo
◆ m_lrCalo
◆ m_lzCalo
◆ m_MC_DIGI_PARAM
StringProperty ISF_HitAnalysis::m_MC_DIGI_PARAM {this, "MetaDataDigi", "/Digitization/Parameters"} |
|
private |
◆ m_MC_SIM_PARAM
StringProperty ISF_HitAnalysis::m_MC_SIM_PARAM {this, "MetaDataSim", "/Simulation/Parameters"} |
|
private |
◆ m_metadataTreeName
StringProperty ISF_HitAnalysis::m_metadataTreeName {this, "MetadataTreeName", "MetaData"} |
|
private |
◆ m_MuonEntryLayer_E
std::vector<float>* ISF_HitAnalysis::m_MuonEntryLayer_E {} |
|
private |
◆ m_MuonEntryLayer_pdg
std::vector<int>* ISF_HitAnalysis::m_MuonEntryLayer_pdg {} |
|
private |
◆ m_MuonEntryLayer_px
std::vector<float>* ISF_HitAnalysis::m_MuonEntryLayer_px {} |
|
private |
◆ m_MuonEntryLayer_py
std::vector<float>* ISF_HitAnalysis::m_MuonEntryLayer_py {} |
|
private |
◆ m_MuonEntryLayer_pz
std::vector<float>* ISF_HitAnalysis::m_MuonEntryLayer_pz {} |
|
private |
◆ m_MuonEntryLayer_x
std::vector<float>* ISF_HitAnalysis::m_MuonEntryLayer_x {} |
|
private |
◆ m_MuonEntryLayer_y
std::vector<float>* ISF_HitAnalysis::m_MuonEntryLayer_y {} |
|
private |
◆ m_MuonEntryLayer_z
std::vector<float>* ISF_HitAnalysis::m_MuonEntryLayer_z {} |
|
private |
◆ m_newTTC_Angle3D
std::vector<float>* ISF_HitAnalysis::m_newTTC_Angle3D {} |
|
private |
◆ m_newTTC_AngleEta
std::vector<float>* ISF_HitAnalysis::m_newTTC_AngleEta {} |
|
private |
◆ m_newTTC_back_detaBorder
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_back_detaBorder {} |
|
private |
◆ m_newTTC_back_eta
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_back_eta {} |
|
private |
◆ m_newTTC_back_OK
std::vector<std::vector<bool> >* ISF_HitAnalysis::m_newTTC_back_OK {} |
|
private |
◆ m_newTTC_back_phi
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_back_phi {} |
|
private |
◆ m_newTTC_back_r
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_back_r {} |
|
private |
◆ m_newTTC_back_z
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_back_z {} |
|
private |
◆ m_newTTC_entrance_detaBorder
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_entrance_detaBorder {} |
|
private |
◆ m_newTTC_entrance_eta
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_entrance_eta {} |
|
private |
◆ m_newTTC_entrance_OK
std::vector<std::vector<bool> >* ISF_HitAnalysis::m_newTTC_entrance_OK {} |
|
private |
◆ m_newTTC_entrance_phi
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_entrance_phi {} |
|
private |
◆ m_newTTC_entrance_r
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_entrance_r {} |
|
private |
◆ m_newTTC_entrance_z
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_entrance_z {} |
|
private |
◆ m_newTTC_IDCaloBoundary_eta
std::vector<float>* ISF_HitAnalysis::m_newTTC_IDCaloBoundary_eta {} |
|
private |
◆ m_newTTC_IDCaloBoundary_phi
std::vector<float>* ISF_HitAnalysis::m_newTTC_IDCaloBoundary_phi {} |
|
private |
◆ m_newTTC_IDCaloBoundary_r
std::vector<float>* ISF_HitAnalysis::m_newTTC_IDCaloBoundary_r {} |
|
private |
◆ m_newTTC_IDCaloBoundary_z
std::vector<float>* ISF_HitAnalysis::m_newTTC_IDCaloBoundary_z {} |
|
private |
◆ m_newTTC_mid_detaBorder
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_mid_detaBorder {} |
|
private |
◆ m_newTTC_mid_eta
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_mid_eta {} |
|
private |
◆ m_newTTC_mid_OK
std::vector<std::vector<bool> >* ISF_HitAnalysis::m_newTTC_mid_OK {} |
|
private |
◆ m_newTTC_mid_phi
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_mid_phi {} |
|
private |
◆ m_newTTC_mid_r
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_mid_r {} |
|
private |
◆ m_newTTC_mid_z
std::vector<std::vector<float> >* ISF_HitAnalysis::m_newTTC_mid_z {} |
|
private |
◆ m_NtruthParticles
IntegerProperty ISF_HitAnalysis::m_NtruthParticles {this, "NTruthParticles", 1, "Number of truth particles saved from the truth collection, -1 to save all"} |
|
private |
◆ m_ntupleFileName
StringProperty ISF_HitAnalysis::m_ntupleFileName {this, "NtupleFileName", "ISF_HitAnalysis"} |
|
private |
◆ m_ntupleTreeName
StringProperty ISF_HitAnalysis::m_ntupleTreeName {this, "NtupleTreeName", "CaloHitAna"} |
|
private |
◆ m_oneeventcells
◆ m_particleDataTable
HepPDT::ParticleDataTable* ISF_HitAnalysis::m_particleDataTable {} |
|
private |
◆ m_partPropSvc
ServiceHandle<IPartPropSvc> ISF_HitAnalysis::m_partPropSvc {this, "PartPropSvc", "PartPropSvc"} |
|
private |
◆ m_pdgid
int ISF_HitAnalysis::m_pdgid {} |
|
private |
◆ m_pdgToParticleHypothesis
◆ m_phi_calo_surf
double ISF_HitAnalysis::m_phi_calo_surf {} |
|
private |
◆ m_ptruth_e
double ISF_HitAnalysis::m_ptruth_e {} |
|
private |
◆ m_ptruth_et
double ISF_HitAnalysis::m_ptruth_et {} |
|
private |
◆ m_ptruth_eta
double ISF_HitAnalysis::m_ptruth_eta {} |
|
private |
◆ m_ptruth_p
double ISF_HitAnalysis::m_ptruth_p {} |
|
private |
◆ m_ptruth_phi
double ISF_HitAnalysis::m_ptruth_phi {} |
|
private |
◆ m_ptruth_pt
double ISF_HitAnalysis::m_ptruth_pt {} |
|
private |
◆ m_sample_calo_surf
◆ m_saveAllBranches
BooleanProperty ISF_HitAnalysis::m_saveAllBranches {this,"SaveAllBranches", false} |
|
private |
◆ m_surfacelist
◆ m_thistSvc
Initial value:{ this,
"THistSvc", "THistSvc", "Tile histogramming service"}
Definition at line 109 of file ISF_HitAnalysis.h.
◆ m_tileCabling
◆ m_tileCablingSvc
Initial value:{ this,
"TileCablingSvc", "TileCablingSvc", "Tile cabling service"}
Name of Tile cabling service.
Definition at line 102 of file ISF_HitAnalysis.h.
◆ m_tileHWID
◆ m_tileID
◆ m_tileMgr
◆ m_tileSamplingFractionKey
Initial value:{this,
"TileSamplingFraction", "TileSamplingFraction", "Input Tile sampling fraction"}
Name of TileSamplingFraction in condition store.
Definition at line 97 of file ISF_HitAnalysis.h.
◆ m_TimingCut
IntegerProperty ISF_HitAnalysis::m_TimingCut {this, "TimingCut", 999999} |
|
private |
◆ m_total_cell_e
Float_t ISF_HitAnalysis::m_total_cell_e {} |
|
private |
◆ m_total_g4hit_e
Float_t ISF_HitAnalysis::m_total_g4hit_e {} |
|
private |
◆ m_total_hit_e
Float_t ISF_HitAnalysis::m_total_hit_e {} |
|
private |
◆ m_tree
TTree* ISF_HitAnalysis::m_tree {} |
|
private |
◆ m_truth_barcode
std::vector<int>* ISF_HitAnalysis::m_truth_barcode {} |
|
private |
◆ m_truth_energy
std::vector<float>* ISF_HitAnalysis::m_truth_energy {} |
|
private |
◆ m_truth_pdg
std::vector<int>* ISF_HitAnalysis::m_truth_pdg {} |
|
private |
◆ m_truth_px
std::vector<float>* ISF_HitAnalysis::m_truth_px {} |
|
private |
◆ m_truth_py
std::vector<float>* ISF_HitAnalysis::m_truth_py {} |
|
private |
◆ m_truth_pz
std::vector<float>* ISF_HitAnalysis::m_truth_pz {} |
|
private |
◆ m_truth_vtxbarcode
std::vector<int>* ISF_HitAnalysis::m_truth_vtxbarcode {} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ MAX_LAYER
const int ISF_HitAnalysis::MAX_LAYER = 25 |
|
static |
The documentation for this class was generated from the following files:
std::vector< int > * m_truth_vtxbarcode
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
virtual double phi() const
The azimuthal angle ( ) of the particle.
std::vector< float > * m_MuonEntryLayer_E
StringProperty m_MC_DIGI_PARAM
bool is_tile_aux(const Identifier &id) const
Trk::PdgToParticleHypothesis m_pdgToParticleHypothesis
std::vector< std::vector< float > > * m_newTTC_back_detaBorder
std::vector< float > * m_truth_pz
PublicToolHandle< IFastCaloSimCaloExtrapolation > m_FastCaloSimCaloExtrapolation
The FastCaloSimCaloExtrapolation tool.
const_cell_iterator cell_begin() const
Iterator of the underlying CaloClusterCellLink (const version)
Const iterator class for DataVector/DataList.
std::vector< std::vector< float > > * m_newTTC_entrance_eta
std::vector< Float_t > * m_final_hit_energy
std::vector< float > * m_cluster_phi
std::vector< float > * m_cell_energy
std::vector< float > * m_cluster_energy
DoubleProperty m_CaloBoundaryZ
Trk::ParticleHypothesis convert(int pdg, bool &stable, bool &exiting, double charge=1.) const
Converter method : PDG -> Particle Hyptothesis.
std::vector< float > * m_newTTC_Angle3D
std::vector< std::vector< float > > * m_newTTC_mid_r
std::vector< std::vector< float > > * m_newTTC_entrance_r
bool is_lar_fcal(Identifier id) const
bool is_tile_gap(const Identifier &id) const
AtlasHitsVector< TileHit >::const_iterator TileHitVecConstIterator
const Amg::Vector3D & position() const
Access method for the position.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
std::unique_ptr< ParametersBase< DIM, T > > uniqueClone() const
clone method for polymorphic deep copy returning unique_ptr; it is not overriden, but uses the existi...
FCS_matchedcellvector * m_oneeventcells
IntegerProperty m_TimingCut
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
std::vector< float > * m_MuonEntryLayer_pz
StringProperty m_MC_SIM_PARAM
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
std::vector< int > * m_truth_barcode
std::vector< FPGATrackSimHit > hitVector
static const int MAX_LAYER
StringProperty m_caloEntranceName
std::vector< bool > * m_islarendcap
std::vector< float > * m_newTTC_IDCaloBoundary_eta
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
value_type get_compact() const
Get the compact id.
bool msgLvl(const MSG::Level lvl) const
bool is_tile_extbarrel(const Identifier &id) const
std::vector< float > * m_hit_samplingfraction
std::vector< Float_t > * m_final_cell_energy
std::vector< int > * m_cell_sampling
std::vector< float > * m_newTTC_IDCaloBoundary_z
std::vector< float > * m_hit_x
Simple variables by Ketevi.
#define ATH_MSG_VERBOSE(x)
const_iterator begin() const
std::vector< int > * m_hit_sampling
std::vector< Long64_t > * m_hit_identifier
std::vector< float > * m_MuonEntryLayer_x
std::vector< bool > * m_islarbarrel
std::vector< bool > * m_istile
std::vector< FCS_g4hit > g4hit
std::vector< Long64_t > * m_g4hit_identifier
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
std::vector< std::vector< bool > > * m_newTTC_entrance_OK
void set(pointer_t elt) const
Set the element, assuming it is currently null.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
std::vector< std::vector< float > > * m_newTTC_mid_z
boost::transform_iterator< make_const, typename CONT::const_iterator > const_iterator
virtual void setOwner(IDataHandleHolder *o)=0
std::vector< float > * m_newTTC_IDCaloBoundary_r
const TileHWID * m_tileHWID
std::vector< float > * m_hit_energy
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
std::vector< unsigned > * m_cluster_size
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
std::vector< std::vector< float > > * m_newTTC_entrance_phi
Identifier identify() const override final
cell identifier
Description of a calorimeter cluster.
const CaloCellContainer * getCellContainer() const
Method to access underlying cell container.
FCS_matchedcellvector * m_layercells[MAX_LAYER]
std::vector< float > * m_cluster_eta
virtual StatusCode sysInitialize() override
Override sysInitialize.
std::vector< float > * m_hit_y
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< float > * m_newTTC_IDCaloBoundary_phi
std::vector< int > * m_g4hit_sampling
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual const float & FSAMPL(const HWIdentifier &id) const =0
void push_back(FCS_matchedcell cell)
std::vector< int > * m_MuonEntryLayer_pdg
std::vector< std::vector< float > > * m_newTTC_back_z
const LArFCAL_ID * m_larFcalID
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
bool is_tile(Identifier id) const
std::vector< Float_t > * m_final_g4hit_energy
bool is_lar_hec(Identifier id) const
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
IntegerProperty m_NtruthParticles
std::vector< Long64_t > * m_g4hit_cellidentifier
const TileCablingService * m_tileCabling
std::vector< std::vector< float > > * m_newTTC_back_eta
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
SG::ReadCondHandleKey< TileSamplingFraction > m_tileSamplingFractionKey
Name of TileSamplingFraction in condition store.
std::vector< std::vector< float > > * m_newTTC_entrance_detaBorder
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
std::vector< std::vector< float > > * m_newTTC_back_phi
virtual void renounce()=0
std::vector< float > * m_MuonEntryLayer_y
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::vector< Long64_t > * m_cell_identifier
Identifier cellID() const
std::vector< bool > * m_islarfcal
int drawerIdx(const HWIdentifier &id) const
construct drawer index from HW identifier
BooleanProperty m_doG4Hits
DoubleProperty m_CaloBoundaryR
std::vector< std::vector< float > > * m_newTTC_entrance_z
double charge(const T &p)
std::vector< float > * m_hit_z
Class to store hit energy and time in LAr cell from G4 simulation.
std::vector< float > * m_newTTC_AngleEta
Eigen::Matrix< double, 3, 1 > Vector3D
Container class for CaloCell.
std::vector< float > * m_MuonEntryLayer_z
SG::ReadCondHandleKey< ILArfSampl > m_fSamplKey
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DataObjIDColl m_extendedExtraObjects
std::vector< float > * m_truth_energy
std::vector< Long64_t > * m_hit_cellidentifier
This class provides the client interface for accessing the detector description information common to...
std::vector< FCS_matchedcell > GetLayer(int layer)
std::vector< float > * m_MuonEntryLayer_px
Data object for each calorimeter readout cell.
std::vector< std::vector< float > > * m_newTTC_mid_phi
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
CaloCell_ID::CaloSample getSampling() const
cell sampling
#define ATH_MSG_WARNING(x)
PublicToolHandle< Trk::ITimedExtrapolator > m_extrapolator
const_iterator end() const
std::vector< std::vector< bool > > * m_newTTC_mid_OK
std::vector< std::vector< Long64_t > > * m_cluster_cellID
const_cell_iterator cell_end() const
std::vector< float > * m_hit_time
const TileDetDescrManager * m_tileMgr
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
pointer_t get() const
Return the current value of the element.
std::vector< std::vector< bool > > * m_newTTC_back_OK
std::vector< bool > * m_islarhec
std::vector< FCS_matchedcell > m_vector
Class for collection of StepInfo class (G4 hits) copied and modified version to ISF.
AthAlgorithm()
Default constructor:
std::vector< int > * m_truth_pdg
std::vector< std::vector< float > > * m_newTTC_mid_detaBorder
std::vector< std::vector< float > > * m_newTTC_back_r
const LArEM_ID * m_larEmID
std::vector< CaloCell_ID_FCS::CaloSample > m_surfacelist
bool is_tile_barrel(const Identifier &id) const
Test of an Identifier to see if it belongs to a particular part of the calorimeter.
std::vector< float > * m_g4hit_energy
Identifier cell_id(const Identifier &any_id) const
std::vector< float > * m_g4hit_time
std::vector< FCS_hit > hit
const_iterator to loop over cells belonging to a cluster
CxxUtils::CachedPointer< const Trk::TrackingVolume > m_caloEntrance
The new Extrapolator setup.
std::vector< float > * m_truth_py
bool is_lar_em(Identifier id) const
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual double e() const
The total energy of the particle.
std::vector< float > * m_truth_px
bool empty() const noexcept
Returns true if the collection is empty.
const LArHEC_ID * m_larHecID
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
std::vector< std::vector< float > > * m_newTTC_mid_eta
HWIdentifier s2h_channel_id(const Identifier &id) const
std::vector< float > * m_g4hit_samplingfraction
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
std::vector< float > * m_MuonEntryLayer_py