|  | 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 | 
|  | 
| 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 theStoreGateSvc.  More...
 | 
|  | 
| const ServiceHandle< StoreGateSvc > & | evtStore () const | 
|  | The standard StoreGateSvc(event store) Returns (kind of) a pointer to theStoreGateSvc.  More...
 | 
|  | 
| const ServiceHandle< StoreGateSvc > & | detStore () const | 
|  | The standard StoreGateSvc/DetectorStoreReturns (kind of) a pointer to theStoreGateSvc.  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, V, H > &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 | 
|  | 
|  | 
| std::vector< Trk::HitInfo > * | caloHits (const HepMC::GenParticle &part) const | 
|  | 
| void | extrapolate (const HepMC::ConstGenParticlePtr &part, std::vector< Trk::HitInfo > *hitVector) | 
|  | 
| void | extrapolate_to_ID (const HepMC::ConstGenParticlePtr &part, std::vector< Trk::HitInfo > *hitVector) | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) | 
|  | specialization for handling Gaudi::Property<SG::VarHandleKey>  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) | 
|  | specialization for handling Gaudi::Property<SG::VarHandleKeyArray>  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) | 
|  | specialization for handling Gaudi::Property<SG::VarHandleBase>  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) | 
|  | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>  More... 
 | 
|  | 
|  | 
| 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 1328 of file ISF_HitAnalysis.cxx.
 1331  ATH_MSG_DEBUG (
"[ fastCaloSim transport ] processing particle "<<
part.pdg_id() );
 
 1333  std::vector<Trk::HitInfo>*     
hitVector =  
new std::vector<Trk::HitInfo>;
 
 1346  auto   vtx = 
part.production_vertex();
 
 1351   pos = 
Amg::Vector3D( vtx->position().x(),vtx->position().y(), vtx->position().z());
 
 1355  ATH_MSG_DEBUG( 
"[ fastCaloSim transport ] starting transport from position eta="<<
pos.eta()<<
" phi="<<
pos.phi()<<
" d="<<
pos.mag()<<
" pT="<<
mom.perp() );
 
 1362  double freepath = -1.;
 
 1365  double tDec = freepath > 0. ? freepath : -1.;
 
 1399  ATH_MSG_DEBUG( 
"[ fastCaloSim transport ] before calo entrance ");
 
 1411  ATH_MSG_DEBUG( 
"[ fastCaloSim transport ] after calo entrance ");
 
 1413  std::unique_ptr<const Trk::TrackParameters> caloEntry = 
nullptr;
 
 1417   std::vector<Trk::HitInfo>*     dummyHitVector = 
nullptr;
 
 1439    caloEntry = inputPar.uniqueClone();
 
 1442  ATH_MSG_DEBUG( 
"[ fastCaloSim transport ] after calo caloEntry ");
 
 1446    std::unique_ptr<const Trk::TrackParameters> eParameters = 
nullptr;
 
 1451   ATH_MSG_DEBUG( 
"[ fastCaloSim transport ] starting Calo transport from position eta="<<caloEntry->
position().eta()<<
" phi="<<caloEntry->
position().phi()<<
" d="<<caloEntry->
position().mag() );
 
 1463     eParameters = 
m_extrapolator->extrapolateWithPathLimit(*caloEntry,
 
 1472   if (eParameters) 
hitVector->push_back(
Trk::HitInfo(std::move(eParameters),timeLim.time,nextGeoID,0.));
 
 1479   while (it < hitVector->
end() )
 
 1483    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 481 of file ISF_HitAnalysis.cxx.
  489   return StatusCode::FAILURE;
 
  496  ATH_CHECK( tileSamplingFraction.isValid() );
 
  501  vectest.SetPtEtaPhi(1.,1.,1.);
 
  539  std::map<Long64_t, FCS_cell> 
cells; 
 
  540  std::map<Long64_t, std::vector<FCS_g4hit> > g4hits;
 
  541  std::map<Long64_t, std::vector<FCS_hit> > 
hits;
 
  601  if (
sc.isFailure()) {
 
  607      m_hit_x->push_back( (*it)->x() );
 
  608      m_hit_y->push_back( (*it)->y() );
 
  609      m_hit_z->push_back( (*it)->z() );
 
  614      bool larbarrel=
false;
 
  615      bool larendcap=
false;
 
  637        sampfrac = tileSamplingFraction->getSamplingFraction(drawerIdx, 
channel);
 
  658        Int_t tile_sampling = -1;
 
  662        if(tile_sampling!= -1) sampling = tile_sampling; 
 
  684  sc = 
evtStore()->retrieve(mcEvent,
"TruthEvent");
 
  690      if(!mcEvent->
empty()) {
 
  693        int particles_size=(*mcEvent->
begin())->particles_size();
 
  695          loopEnd = particles_size; 
 
  698        for (
const auto& 
part: *(*mcEvent->
begin()))
 
  700        for (
const auto part: *(*mcEvent->
begin()))
 
  704          ATH_MSG_DEBUG(
"Number truth particles="<<particles_size<<
" loopEnd="<<loopEnd);
 
  707          if (particleIndex>loopEnd) 
break; 
 
  715          moment.SetXYZ(
part->momentum().px(),
part->momentum().py(),
part->momentum().pz());
 
  716          TVector3 direction=moment.Unit();
 
  728          if((
part)->production_vertex()) {
 
  729            truth.set_vertex((
part)->production_vertex()->position().
x(), (
part)->production_vertex()->position().
y(), (
part)->production_vertex()->position().
z());
 
  731            truth.set_vertex(direction.X(),direction.Y(),direction.Z());
 
  732            ATH_MSG_WARNING(
"No particle production vetext, use VERTEX from direction: x "<<direction.X()<<
" y "<<direction.Y()<<
" z "<<direction.Z());
 
  735          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 ) {
 
  736            ATH_MSG_WARNING(
"VERTEX from direction: x "<<direction.X()<<
" y "<<direction.Y()<<
" z "<<direction.Z());
 
  737            ATH_MSG_WARNING(
"but VERTEX from hepmc: x "<<truth.vertex().X()<<
" y "<<truth.vertex().Y()<<
" z "<<truth.vertex().Z());
 
  759          std::vector<float> eta_vec_ENT;
 
  760          std::vector<float> phi_vec_ENT;
 
  761          std::vector<float> r_vec_ENT;
 
  762          std::vector<float> z_vec_ENT;
 
  763          std::vector<float> detaBorder_vec_ENT;
 
  764          std::vector<bool>  OK_vec_ENT;
 
  766          std::vector<float> eta_vec_EXT;
 
  767          std::vector<float> phi_vec_EXT;
 
  768          std::vector<float> r_vec_EXT;
 
  769          std::vector<float> z_vec_EXT;
 
  770          std::vector<float> detaBorder_vec_EXT;
 
  771          std::vector<bool>  OK_vec_EXT;
 
  773          std::vector<float> eta_vec_MID;
 
  774          std::vector<float> phi_vec_MID;
 
  775          std::vector<float> r_vec_MID;
 
  776          std::vector<float> z_vec_MID;
 
  777          std::vector<float> detaBorder_vec_MID;
 
  778          std::vector<bool>  OK_vec_MID;
 
  841  sc = 
evtStore()->retrieve(MuonEntry, 
"MuonEntryLayer");
 
  863  std::string clusterContainerName = 
"CaloCalTopoClusters";  
 
  864   sc = 
evtStore()->retrieve(theClusters, clusterContainerName);
 
  865   if (
sc.isFailure()) {
 
  866     ATH_MSG_WARNING(
" Couldn't get cluster container '" << clusterContainerName << 
"'");
 
  867     return StatusCode::SUCCESS; 
 
  871   for ( ; itrClus!=itrLastClus; ++itrClus){
 
  889     unsigned cellcount = 0;
 
  890     std::vector<Long64_t> cellIDs_in_cluster;
 
  893     for ( ;cellIter !=cellIterEnd;cellIter++) {
 
  896       cellIDs_in_cluster.push_back(
cell->ID().get_compact());
 
  897       float EnergyCell=
cell->energy(); 
 
  906  sc = 
evtStore()->retrieve(cellColl, 
"AllCalo");
 
  917   for ( ; itrCell!=itrLastCell; ++itrCell)
 
  925     else if (calo_dd_man->
get_element((*itrCell)->ID()))
 
  937  std::string  lArKey [4] = {
"LArHitEMB", 
"LArHitEMEC", 
"LArHitFCAL", 
"LArHitHEC"};
 
  938  for (
unsigned int i=0;
i<4;
i++)
 
  946     for (hi=(*iter).begin();hi!=(*iter).end();++hi) {
 
  948       const LArHit* larHit = *hi;
 
  956       float larsampfrac=fSampl->
FSAMPL(larhitid);
 
  965     ATH_MSG_INFO( 
"Read "<<hitnumber<<
" G4Hits from "<<lArKey[
i]);
 
  990       float tilesampfrac = tileSamplingFraction->getSamplingFraction(drawerIdx, 
channel);
 
  993       for (
int tilesubhit_i = 0; tilesubhit_i<(*i_hit).size(); tilesubhit_i++)
 
 1004   ATH_MSG_INFO( 
"Read "<<hitnumber<<
" G4Hits from TileHitVec");
 
 1014       one_cell.cell_identifier = (*m_cell_identifier)[cell_i];
 
 1015       one_cell.sampling = (*m_cell_sampling)[cell_i];
 
 1016       one_cell.energy = (*m_cell_energy)[cell_i];
 
 1017       one_cell.center_x = 0.0; 
 
 1018       one_cell.center_y = 0.0;
 
 1019       one_cell.center_z = 0.0;
 
 1020       cells.insert(std::pair<Long64_t, FCS_cell>(one_cell.cell_identifier, one_cell));
 
 1042         one_g4hit.identifier = (*m_g4hit_identifier)[g4hit_i];
 
 1043         one_g4hit.cell_identifier = (*m_g4hit_cellidentifier)[g4hit_i];
 
 1044         one_g4hit.sampling = (*m_g4hit_sampling)[g4hit_i];
 
 1045         one_g4hit.hit_time = (*m_g4hit_time)[g4hit_i];
 
 1047         if (one_g4hit.sampling >= 12 && one_g4hit.sampling <= 20)
 
 1051             one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] * (*m_g4hit_samplingfraction)[g4hit_i];
 
 1053           else one_g4hit.hit_energy = 0.;
 
 1057           one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] / (*m_g4hit_samplingfraction)[g4hit_i];
 
 1059         g4hits.insert(std::pair<Long64_t, std::vector<FCS_g4hit> >(one_g4hit.cell_identifier, std::vector<FCS_g4hit>(1, one_g4hit)));
 
 1064         one_g4hit.identifier = (*m_g4hit_identifier)[g4hit_i];
 
 1065         one_g4hit.cell_identifier = (*m_g4hit_cellidentifier)[g4hit_i];
 
 1066         one_g4hit.sampling = (*m_g4hit_sampling)[g4hit_i];
 
 1067         one_g4hit.hit_time = (*m_g4hit_time)[g4hit_i];
 
 1068         if (one_g4hit.sampling >= 12 && one_g4hit.sampling <= 20)
 
 1072             one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] * (*m_g4hit_samplingfraction)[g4hit_i];
 
 1074           else one_g4hit.hit_energy = 0.;
 
 1078           one_g4hit.hit_energy = (*m_g4hit_energy)[g4hit_i] / (*m_g4hit_samplingfraction)[g4hit_i];
 
 1080         g4hits[(*m_g4hit_cellidentifier)[g4hit_i]].push_back(one_g4hit);
 
 1096       one_hit.identifier = (*m_hit_identifier)[hit_i];
 
 1097       one_hit.cell_identifier = (*m_hit_cellidentifier)[hit_i];
 
 1098       one_hit.sampling = (*m_hit_sampling)[hit_i];
 
 1100       if (one_hit.sampling >= 12 && one_hit.sampling <= 20)
 
 1104           one_hit.hit_energy = (*m_hit_energy)[hit_i] * (*m_hit_samplingfraction)[hit_i];
 
 1106         else one_hit.hit_energy = 0.;
 
 1110         one_hit.hit_energy = (*m_hit_energy)[hit_i] / (*m_hit_samplingfraction)[hit_i];
 
 1113       one_hit.hit_time = (*m_hit_time)[hit_i];
 
 1114       one_hit.hit_x = (*m_hit_x)[hit_i];
 
 1115       one_hit.hit_y = (*m_hit_y)[hit_i];
 
 1116       one_hit.hit_z = (*m_hit_z)[hit_i];
 
 1117       hits.insert(std::pair<Long64_t, std::vector<FCS_hit> >(one_hit.cell_identifier, std::vector<FCS_hit>(1, one_hit)));
 
 1122       one_hit.identifier = (*m_hit_identifier)[hit_i];
 
 1123       one_hit.cell_identifier = (*m_hit_cellidentifier)[hit_i];
 
 1124       one_hit.sampling = (*m_hit_sampling)[hit_i];
 
 1126       if (one_hit.sampling >= 12 && one_hit.sampling <= 20)
 
 1130           one_hit.hit_energy = (*m_hit_energy)[hit_i] * (*m_hit_samplingfraction)[hit_i];
 
 1132         else one_hit.hit_energy = 0.;
 
 1136         one_hit.hit_energy = (*m_hit_energy)[hit_i] / (*m_hit_samplingfraction)[hit_i];
 
 1139       one_hit.hit_time = (*m_hit_time)[hit_i];
 
 1140       one_hit.hit_x = (*m_hit_x)[hit_i];
 
 1141       one_hit.hit_y = (*m_hit_y)[hit_i];
 
 1142       one_hit.hit_z = (*m_hit_z)[hit_i];
 
 1143       hits[(*m_hit_cellidentifier)[hit_i]].push_back(one_hit);
 
 1150     one_matchedcell.
clear(); 
 
 1152     one_matchedcell.
cell = 
it->second;
 
 1154     std::map<Long64_t, std::vector<FCS_hit> >
::iterator it2 = 
hits.find(
it->first);
 
 1155     if (it2 != 
hits.end())
 
 1158       one_matchedcell.
hit = it2->second;
 
 1164       one_matchedcell.
hit.clear(); 
 
 1167     std::map<Long64_t, std::vector<FCS_g4hit> >
::iterator it3 = g4hits.find(
it->first);
 
 1168     if (it3 != g4hits.end())
 
 1170       one_matchedcell.
g4hit = it3->second;
 
 1176       one_matchedcell.
g4hit.clear();
 
 1185   ATH_MSG_DEBUG(
"ISF_HitAnalysis Check after cells: " << 
cells.size() << 
" " << g4hits.size() << 
" " << 
hits.size());
 
 1189     one_matchedcell.
clear();
 
 1192     if (!
it->second.empty())
 
 1206     one_matchedcell.
hit = 
it->second;
 
 1207     std::map<Long64_t, std::vector<FCS_g4hit> >
::iterator it3 = g4hits.find(
it->first);
 
 1208     if (it3 != g4hits.end())
 
 1210       one_matchedcell.
g4hit = it3->second;
 
 1216       one_matchedcell.
g4hit.clear(); 
 
 1224   ATH_MSG_DEBUG(
"ISF_HitAnalysis Check after hits: " << 
cells.size() << 
" " << g4hits.size() << 
" " << 
hits.size());
 
 1225   for (std::map<Long64_t, std::vector<FCS_g4hit> >::
iterator it = g4hits.begin(); 
it != g4hits.end();)
 
 1227     one_matchedcell.
clear(); 
 
 1229     if (!
it->second.empty())
 
 1243     one_matchedcell.
g4hit = 
it->second;
 
 1244     one_matchedcell.
hit.clear(); 
 
 1267     for (
unsigned int cellindex = 0; cellindex < 
m_layercells[
i]->
size(); cellindex++)
 
 1324  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. 
 
 
◆ 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 86 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 90 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 84 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 107 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 100 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 95 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
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.
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
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.
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
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
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
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
std::vector< int > * m_MuonEntryLayer_pdg
std::vector< std::vector< float > > * m_newTTC_back_z
const LArFCAL_ID * m_larFcalID
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.
void push_back(const FCS_matchedcell &cell)
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.
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