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

#include <InDetAlignFillTrack.h>

Inheritance diagram for InDetAlignFillTrack:
Collaboration diagram for InDetAlignFillTrack:

Public Member Functions

 InDetAlignFillTrack (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~InDetAlignFillTrack ()
 
virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
virtual StatusCode FillTrack ()
 
virtual int GetTrks () const
 
virtual int GetTrkHits () const
 
virtual int GetTrkPixHits () const
 
virtual int GetTrkSCTHits () const
 
virtual int GetTrkTRTHits () const
 
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 sysInitialize () override
 Perform system initialization for an algorithm. 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
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

void bookNtuple ()
 
void bookUpNtuple ()
 
void bookLowNtuple ()
 
void bookMatchingNtuple ()
 
int dumpTrackCol (const TrackCollection *)
 
int dumpTrackCol (const TrackCollection *, const std::string &)
 
void dumpTrack (int, const Trk::Track *, const std::string &)
 
void dumpPerigee (const Trk::TrackParameters *, int)
 
StatusCode dumpMatching (const TrackCollection *, const TrackCollection *)
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

INTupleSvc * m_ntupleSvc
 
bool m_doMatching
 switch on/off the matching information More...
 
bool m_doTruth
 switch on/off the truth information More...
 
std::string m_inputCol
 
std::string m_inputUpCol
 
std::string m_inputLowCol
 
std::string m_TruthTrkCol
 
std::string m_ntupleName
 ntuple name More...
 
int m_totaltrks
 
int m_totalhits
 
int m_totalPixhits
 
int m_totalSCThits
 
int m_totalTRThits
 
int m_totalUptrks
 
int m_totalUphits
 
int m_totalUpPixhits
 
int m_totalUpSCThits
 
int m_totalUpTRThits
 
int m_totalLowtrks
 
int m_totalLowhits
 
int m_totalLowPixhits
 
int m_totalLowSCThits
 
int m_totalLowTRThits
 
int m_events
 
float m_matchedRcut
 
float m_mindR
 
ToolHandle< Trk::ITruthToTrackm_truthToTrack
 Pointer to TruthToTrack. More...
 
ToolHandle< Trk::IExtrapolatorm_extrapolator
 Pointer to IExtrapolator. More...
 
ToolHandle< Trk::ITrackParticleCreatorToolm_particleCreator
 Pointer to track particle creator tool. More...
 
NTuple::Item< long > m_nt_ntracks
 number of tracks More...
 
NTuple::Item< long > m_nt_nUptracks
 number of Up tracks More...
 
NTuple::Item< long > m_nt_nLowtracks
 number of Low tracks More...
 
NTuple::Item< long > m_nt_nmctracks
 number of mc tracks More...
 
NTuple::Item< long > m_nt_matchingTrk
 matching tracks More...
 
NTuple::Array< float > m_nt_Trk_d0
 d0 parameter More...
 
NTuple::Array< float > m_nt_Trk_z0
 z0 parameter More...
 
NTuple::Array< float > m_nt_Trk_phi0
 phi0 parameter More...
 
NTuple::Array< float > m_nt_Trk_theta0
 theta0 parameter More...
 
NTuple::Array< float > m_nt_Trk_qoverp
 q/p parameter More...
 
NTuple::Array< float > m_nt_Trk_pt
 pt parameter More...
 
NTuple::Array< long > m_nt_Trk_nHits
 number of hits More...
 
NTuple::Array< long > m_nt_Trk_nhitspix
 number of Pixel hits More...
 
NTuple::Array< long > m_nt_Trk_nhitssct
 number of SCT hits More...
 
NTuple::Array< long > m_nt_Trk_nhitstrt
 number of TRT hits More...
 
NTuple::Array< long > m_nt_Trk_nsharedPixels
 number of Pixel shared hits More...
 
NTuple::Array< long > m_nt_Trk_nsharedSCT
 number of SCT shared hits More...
 
NTuple::Array< long > m_nt_Trk_nshared
 number of shared hits More...
 
NTuple::Array< long > m_nt_Trk_nholesPixels
 number of Pixel holes More...
 
NTuple::Array< long > m_nt_Trk_nholesSCT
 number of SCT holes More...
 
NTuple::Array< long > m_nt_Trk_nholes
 number of holes More...
 
NTuple::Array< float > m_nt_Trk_chi2
 number of chi2 More...
 
NTuple::Array< long > m_nt_Trk_ndof
 number of ndof More...
 
NTuple::Array< float > m_nt_Trk_chi2Prob
 number of chi2 probability More...
 
NTuple::Array< float > m_nt_Trk_d0_Up
 d0 parameter (Up track) More...
 
NTuple::Array< float > m_nt_Trk_z0_Up
 z0 parameter (Up track) More...
 
NTuple::Array< float > m_nt_Trk_phi0_Up
 phi0 parameter (Up track) More...
 
NTuple::Array< float > m_nt_Trk_theta0_Up
 theta0 parameter (Up track) More...
 
NTuple::Array< float > m_nt_Trk_qoverp_Up
 q/p parameter (Up track) More...
 
NTuple::Array< float > m_nt_Trk_pt_Up
 pt parameter (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nHits_Up
 number of hits (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nhitspix_Up
 number of Pixel hits (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nhitssct_Up
 number of SCT hits (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nhitstrt_Up
 number of TRT hits (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nsharedPixels_Up
 number of Pixel shared hits (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nsharedSCT_Up
 number of SCT shared hits (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nshared_Up
 number of shared hits (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nholesPixels_Up
 number of Pixel holes (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nholesSCT_Up
 number of SCT holes (Up track) More...
 
NTuple::Array< long > m_nt_Trk_nholes_Up
 number of holes (Up track) More...
 
NTuple::Array< float > m_nt_Trk_chi2_Up
 number of chi2 (Up track) More...
 
NTuple::Array< long > m_nt_Trk_ndof_Up
 number of ndof (Up track) More...
 
NTuple::Array< float > m_nt_Trk_chi2Prob_Up
 number of chi2 probability (Up track) More...
 
NTuple::Array< float > m_nt_Trk_d0_Low
 d0 parameter (Low track) More...
 
NTuple::Array< float > m_nt_Trk_z0_Low
 z0 parameter (Low track) More...
 
NTuple::Array< float > m_nt_Trk_phi0_Low
 phi0 parameter (Low track) More...
 
NTuple::Array< float > m_nt_Trk_theta0_Low
 theta0 parameter (Low track) More...
 
NTuple::Array< float > m_nt_Trk_qoverp_Low
 q/p parameter (Low track) More...
 
NTuple::Array< float > m_nt_Trk_pt_Low
 pt parameter (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nHits_Low
 number of hits (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nhitspix_Low
 number of Pixel hits (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nhitssct_Low
 number of SCT hits (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nhitstrt_Low
 number of TRT hits (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nsharedPixels_Low
 number of Pixel shared hits (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nsharedSCT_Low
 number of SCT shared hits (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nshared_Low
 number of shared hits (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nholesPixels_Low
 number of Pixel holes (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nholesSCT_Low
 number of SCT holes (Low track) More...
 
NTuple::Array< long > m_nt_Trk_nholes_Low
 number of holes (Low track) More...
 
NTuple::Array< float > m_nt_Trk_chi2_Low
 number of chi2 (Low track) More...
 
NTuple::Array< long > m_nt_Trk_ndof_Low
 number of ndof (Low track) More...
 
NTuple::Array< float > m_nt_Trk_chi2Prob_Low
 number of chi2 probability (Low track) More...
 
NTuple::Array< float > m_nt_mc_trkistruth
 Has the Track an associated truth track? More...
 
NTuple::Array< float > m_nt_mc_Trk_genParticlePt
 generated pt More...
 
NTuple::Array< float > m_nt_mc_Trk_genParticleEta
 generated eta More...
 
NTuple::Array< float > m_nt_mc_Trk_genParticlePhi
 generated phi More...
 
NTuple::Array< float > m_nt_mc_Trk_d0
 MonteCarlo d0 parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_z0
 MonteCarlo z0 parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_phi0
 MonteCarlo phi0 parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_theta0
 MonteCarlo theta0 parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_eta
 MonteCarlo eta parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_qoverp
 MonteCarlo q/p parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_qoverpt
 MonteCarlo q/pt parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_pt
 MonteCarlo pt parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_charge
 MonteCarlo charge parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_prob
 MonteCarlo prob parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_pdg
 MonteCarlo pdg parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_vtxX
 MonteCarlo Vertex.X parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_vtxY
 MonteCarlo Vertex.Y parameter. More...
 
NTuple::Array< float > m_nt_mc_Trk_vtxZ
 MonteCarlo Vertex.Z parameter. More...
 
NTuple::Array< float > m_nt_Trk_delta_d0
 d0 parameter More...
 
NTuple::Array< float > m_nt_Trk_delta_z0
 z0 parameter More...
 
NTuple::Array< float > m_nt_Trk_delta_phi0
 phi0 parameter More...
 
NTuple::Array< float > m_nt_Trk_delta_theta0
 theta parameter More...
 
NTuple::Array< float > m_nt_Trk_delta_eta
 eta parameter More...
 
NTuple::Array< float > m_nt_Trk_delta_qoverpt
 q/pt parameter More...
 
NTuple::Array< float > m_nt_Trk_delta_pt
 pt parameter More...
 
NTuple::Array< float > m_nt_Trk_delta_charge
 charge parameter More...
 
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
 

Detailed Description

Definition at line 39 of file InDetAlignFillTrack.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ InDetAlignFillTrack()

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

Definition at line 57 of file InDetAlignFillTrack.cxx.

61  m_ntupleSvc(nullptr),
62  m_totaltrks(0),
63  m_totalhits(0),
64  m_totalPixhits(0),
65  m_totalSCThits(0),
66  m_totalTRThits(0),
67  m_totalUptrks(0),
68  m_totalUphits(0),
72  m_totalLowtrks(0),
73  m_totalLowhits(0),
77  m_events(0),
78  m_truthToTrack("Trk::TruthToTrack", this),
79  m_extrapolator("Trk::Extrapolator/CosmicsExtrapolator", this),
80  m_particleCreator("Trk::TrackParticleCreatorTool/TrackParticleCreatorTool", this) {
81  declareInterface<IInDetAlignFillTrack>(this);
82  declareProperty("InputTrkCol", m_inputCol = "Tracks");
83  declareProperty("InputUpTrkCol", m_inputUpCol = "");
84  declareProperty("InputLowTrkCol", m_inputLowCol = "");
85 
86  // cosmic segments matching
87  declareProperty("doMatching", m_doMatching = true);
88  declareProperty("dRCut", m_matchedRcut = 100.);
89  declareProperty("minimumdR", m_mindR = 10000.);
90 
91  // Truth information
92  declareProperty("doTruth", m_doTruth = false);
93  declareProperty("TruthTrkCol", m_TruthTrkCol = "TrackTruthCollection");
94 
95  // Ntuple
96  declareProperty("NtupleName", m_ntupleName = "/NTUPLES/GLOBFILE");
97 
98  // Tools
99  declareProperty("TruthToTrackTool", m_truthToTrack,
100  "tool to produce perigee track parameters from generated parameters");
101  declareProperty("ExtrapolationTool", m_extrapolator,
102  "tool to extrapolate tracks");
103  declareProperty("TrackParticleCreatorTool", m_particleCreator,
104  "tool to build TrackParticle");
105 }

◆ ~InDetAlignFillTrack()

InDetAlignFillTrack::~InDetAlignFillTrack ( )
virtual

Definition at line 110 of file InDetAlignFillTrack.cxx.

110 {}

Member Function Documentation

◆ bookLowNtuple()

void InDetAlignFillTrack::bookLowNtuple ( )
private

Definition at line 700 of file InDetAlignFillTrack.cxx.

700  {
701  ATH_MSG_DEBUG("Booking Low Trk::Track Info...");
702 
703  std::string nt2id = m_ntupleName + "/TrkTrack_Low";
704  std::string comments = "Trk::LowTrack Information";
705 
706  NTuplePtr nt2(m_ntupleSvc, nt2id);
707  if (nt2) {
708  ATH_MSG_DEBUG("Ntuple is already booked");
709  } else {
710  ATH_MSG_DEBUG("Attempting to book general ntuple");
711  nt2 = m_ntupleSvc->book(nt2id, CLID_ColumnWiseTuple, comments);
712 
713  if (nt2) {
714  StatusCode sc;
715  // sc = nt2->addItem("event", m_nt_event); // event number
716  sc = nt2->addItem("nTracks_Low", m_nt_nLowtracks, 0, maxTracks); // number of tracks
717 
718  // ----------------------------------------------------------------------
719  // Trk::Track parameters
720  sc = nt2->addItem("Trk_d0_Low", m_nt_nLowtracks, m_nt_Trk_d0_Low);
721  sc = nt2->addItem("Trk_z0_Low", m_nt_nLowtracks, m_nt_Trk_z0_Low);
722  sc = nt2->addItem("Trk_phi0_Low", m_nt_nLowtracks, m_nt_Trk_phi0_Low);
723  sc = nt2->addItem("Trk_theta0_Low", m_nt_nLowtracks, m_nt_Trk_theta0_Low);
724  sc = nt2->addItem("Trk_qoverp_Low", m_nt_nLowtracks, m_nt_Trk_qoverp_Low);
725  sc = nt2->addItem("Trk_pt_Low", m_nt_nLowtracks, m_nt_Trk_pt_Low);
726  // ----------------------------------------------------------------------
727 
728  // ----------------------------------------------------------------------
729  // Trk::Track hits...
730  sc = nt2->addItem("Trk_nHits_Low", m_nt_nLowtracks, m_nt_Trk_nHits_Low);
731  sc = nt2->addItem("Trk_nhitsPixels_Low", m_nt_nLowtracks, m_nt_Trk_nhitspix_Low);
732  sc = nt2->addItem("Trk_nhitsSCT_Low", m_nt_nLowtracks, m_nt_Trk_nhitssct_Low);
733  sc = nt2->addItem("Trk_nhitsTRT_Low", m_nt_nLowtracks, m_nt_Trk_nhitstrt_Low);
734 
735  sc = nt2->addItem("Trk_nsharedPixels_Low", m_nt_nLowtracks, m_nt_Trk_nsharedPixels_Low);
736  sc = nt2->addItem("Trk_nsharedSCT_Low", m_nt_nLowtracks, m_nt_Trk_nsharedSCT_Low);
737  sc = nt2->addItem("Trk_nshared_Low", m_nt_nLowtracks, m_nt_Trk_nshared_Low);
738 
739  sc = nt2->addItem("Trk_nholesPixels_Low", m_nt_nLowtracks, m_nt_Trk_nholesPixels_Low);
740  sc = nt2->addItem("Trk_nholesSCT_Low", m_nt_nLowtracks, m_nt_Trk_nholesSCT_Low);
741  sc = nt2->addItem("Trk_nholes_Low", m_nt_nLowtracks, m_nt_Trk_nholes_Low);
742 
743  sc = nt2->addItem("Trk_chi2_Low", m_nt_nLowtracks, m_nt_Trk_chi2_Low);
744  sc = nt2->addItem("Trk_ndof_Low", m_nt_nLowtracks, m_nt_Trk_ndof_Low);
745  sc = nt2->addItem("Trk_chi2Prob_Low", m_nt_nLowtracks, m_nt_Trk_chi2Prob_Low);
746  // ----------------------------------------------------------------------
747  if (sc.isFailure()) msg(MSG::FATAL) << "Failed ntupleSvc()" << endmsg;
748  else msg(MSG::DEBUG) << "Ntuple " << nt2id << " has been booked successfully! " << endmsg;
749  } else {
750  ATH_MSG_ERROR("Error booking ntuple");
751  }
752  }
753 }

◆ bookMatchingNtuple()

void InDetAlignFillTrack::bookMatchingNtuple ( )
private

Definition at line 758 of file InDetAlignFillTrack.cxx.

758  {
759  ATH_MSG_DEBUG("Booking Matching between Up and Low Trk::Track Collections...");
760 
761  std::string nt3id = m_ntupleName + "/TrkTrack_Matching";
762  std::string comments = "Matching between Up and Low Trk::Track Collections";
763 
764  NTuplePtr nt3(m_ntupleSvc, nt3id);
765  if (nt3) {
766  ATH_MSG_DEBUG("Ntuple is already booked");
767  } else {
768  ATH_MSG_DEBUG("Attempting to book general ntuple");
769  m_ntupleSvc->book(nt3id, CLID_ColumnWiseTuple, comments);
770 
771  if (nt3) {
772  StatusCode sc;
773  // sc = nt3->addItem("event", m_nt_event); // event number
774 
775  sc = nt3->addItem("nTracks_Match", m_nt_matchingTrk, 0, maxTracks); // number of tracks
776 
777  // ----------------------------------------------------------------------
778  // Matching for the usual Trk::Track parameters
779  sc = nt3->addItem("Trk_delta_d0", m_nt_matchingTrk, m_nt_Trk_delta_d0);
780  sc = nt3->addItem("Trk_delta_phi0", m_nt_matchingTrk, m_nt_Trk_delta_phi0);
781  sc = nt3->addItem("Trk_delta_theta0", m_nt_matchingTrk, m_nt_Trk_delta_theta0);
782  sc = nt3->addItem("Trk_delta_eta", m_nt_matchingTrk, m_nt_Trk_delta_eta);
783  sc = nt3->addItem("Trk_delta_z0", m_nt_matchingTrk, m_nt_Trk_delta_z0);
784  sc = nt3->addItem("Trk_delta_qoverpt", m_nt_matchingTrk, m_nt_Trk_delta_qoverpt);
785  sc = nt3->addItem("Trk_delta_pt", m_nt_matchingTrk, m_nt_Trk_delta_pt);
786  sc = nt3->addItem("Trk_delta_charge", m_nt_matchingTrk, m_nt_Trk_delta_charge);
787  // ----------------------------------------------------------------------
788 
789  if (sc.isFailure()) msg(MSG::FATAL) << "Failed ntupleSvc()" << endmsg;
790  else msg(MSG::DEBUG) << "Ntuple " << nt3id << " has been booked successfully! " << endmsg;
791  } else {
792  if (msgLvl(MSG::ERROR)) msg(MSG::DEBUG) << "Error booking ntuple" << endmsg;
793  }
794  }
795 
796  return;
797 }

◆ bookNtuple()

void InDetAlignFillTrack::bookNtuple ( )
private

Definition at line 550 of file InDetAlignFillTrack.cxx.

550  {
551  ATH_MSG_DEBUG("Booking Trk::Track Info...");
552 
553  NTupleFilePtr file1(m_ntupleSvc, m_ntupleName);
554  std::string nt0id = m_ntupleName + "/TrkTrack";
555  std::string comments = "Trk::Track Information";
556 
557  NTuplePtr nt0(m_ntupleSvc, nt0id);
558  if (nt0) {
559  ATH_MSG_DEBUG("Ntuple is already booked");
560  } else {
561  ATH_MSG_DEBUG("Attempting to book general ntuple");
562  nt0 = m_ntupleSvc->book(nt0id, CLID_ColumnWiseTuple, comments);
563 
564  if (nt0) {
565  StatusCode sc;
566  // nt0->addItem("event", m_nt_event); // event number
567  sc = nt0->addItem("nTracks", m_nt_ntracks, 0, maxTracks); // number of tracks
568  if (m_doTruth) sc = nt0->addItem("mc_nTracks", m_nt_nmctracks, 0, maxTracks); // number of mc tracks
569 
570  // ----------------------------------------------------------------------
571  // Trk::Track parameters
572  sc = nt0->addItem("Trk_d0", m_nt_ntracks, m_nt_Trk_d0);
573  sc = nt0->addItem("Trk_z0", m_nt_ntracks, m_nt_Trk_z0);
574  sc = nt0->addItem("Trk_phi0", m_nt_ntracks, m_nt_Trk_phi0);
575  sc = nt0->addItem("Trk_theta0", m_nt_ntracks, m_nt_Trk_theta0);
576  sc = nt0->addItem("Trk_qoverp", m_nt_ntracks, m_nt_Trk_qoverp);
577  sc = nt0->addItem("Trk_pt", m_nt_ntracks, m_nt_Trk_pt);
578  // ----------------------------------------------------------------------
579 
580  // ----------------------------------------------------------------------
581  // Trk::Track hits...
582  sc = nt0->addItem("Trk_nHits", m_nt_ntracks, m_nt_Trk_nHits);
583  sc = nt0->addItem("Trk_nhitsPixels", m_nt_ntracks, m_nt_Trk_nhitspix);
584  sc = nt0->addItem("Trk_nhitsSCT", m_nt_ntracks, m_nt_Trk_nhitssct);
585  sc = nt0->addItem("Trk_nhitsTRT", m_nt_ntracks, m_nt_Trk_nhitstrt);
586 
587  sc = nt0->addItem("Trk_nsharedPixels", m_nt_ntracks, m_nt_Trk_nsharedPixels);
588  sc = nt0->addItem("Trk_nsharedSCT", m_nt_ntracks, m_nt_Trk_nsharedSCT);
589  sc = nt0->addItem("Trk_nshared", m_nt_ntracks, m_nt_Trk_nshared);
590 
591  sc = nt0->addItem("Trk_nholesPixels", m_nt_ntracks, m_nt_Trk_nholesPixels);
592  sc = nt0->addItem("Trk_nholesSCT", m_nt_ntracks, m_nt_Trk_nholesSCT);
593  sc = nt0->addItem("Trk_nholes", m_nt_ntracks, m_nt_Trk_nholes);
594 
595  sc = nt0->addItem("Trk_chi2", m_nt_ntracks, m_nt_Trk_chi2);
596  sc = nt0->addItem("Trk_ndof", m_nt_ntracks, m_nt_Trk_ndof);
597  sc = nt0->addItem("Trk_chi2Prob", m_nt_ntracks, m_nt_Trk_chi2Prob);
598  // ----------------------------------------------------------------------
599 
600  if (m_doTruth) {
601  // ----------------------------------------------------------------------
602  sc = nt0->addItem("mc_TrkIsTruth", m_nt_ntracks, m_nt_mc_trkistruth);
603 
604  // generated particle parameters
605  sc = nt0->addItem("mc_Trk_genParticlePt", m_nt_ntracks, m_nt_mc_Trk_genParticlePt);
606  sc = nt0->addItem("mc_Trk_genParticleEta", m_nt_ntracks, m_nt_mc_Trk_genParticleEta);
607  sc = nt0->addItem("mc_Trk_genParticlePhi", m_nt_ntracks, m_nt_mc_Trk_genParticlePhi);
608 
609  // MonteCarlo Track parameters
610  sc = nt0->addItem("mc_Trk_d0", m_nt_ntracks, m_nt_mc_Trk_d0);
611  sc = nt0->addItem("mc_Trk_z0", m_nt_ntracks, m_nt_mc_Trk_z0);
612  sc = nt0->addItem("mc_Trk_phi0", m_nt_ntracks, m_nt_mc_Trk_phi0);
613  sc = nt0->addItem("mc_Trk_theta", m_nt_ntracks, m_nt_mc_Trk_theta0);
614  sc = nt0->addItem("mc_Trk_eta", m_nt_ntracks, m_nt_mc_Trk_eta);
615  sc = nt0->addItem("mc_Trk_qoverp", m_nt_ntracks, m_nt_mc_Trk_qoverp);
616  sc = nt0->addItem("mc_Trk_qoverpt", m_nt_ntracks, m_nt_mc_Trk_qoverpt);
617  sc = nt0->addItem("mc_Trk_pt", m_nt_ntracks, m_nt_mc_Trk_pt);
618  sc = nt0->addItem("mc_Trk_charge", m_nt_ntracks, m_nt_mc_Trk_charge);
619  sc = nt0->addItem("mc_Trk_prob", m_nt_ntracks, m_nt_mc_Trk_prob);
620  sc = nt0->addItem("mc_Trk_pdg", m_nt_ntracks, m_nt_mc_Trk_pdg);
621 
622  sc = nt0->addItem("mc_Trk_vtxX", m_nt_ntracks, m_nt_mc_Trk_vtxX);
623  sc = nt0->addItem("mc_Trk_vtxY", m_nt_ntracks, m_nt_mc_Trk_vtxY);
624  sc = nt0->addItem("mc_Trk_vtxZ", m_nt_ntracks, m_nt_mc_Trk_vtxZ);
625  // ----------------------------------------------------------------------
626  }
627 
628  if (sc.isFailure()) ATH_MSG_FATAL("Failed ntupleSvc()");
629  else ATH_MSG_DEBUG("Ntuple " << nt0id << " has been booked successfully! ");
630  } else {
631  ATH_MSG_ERROR("Error booking ntuple");
632  }
633  }
634 
635  // return;
636 }

◆ bookUpNtuple()

void InDetAlignFillTrack::bookUpNtuple ( )
private

Definition at line 641 of file InDetAlignFillTrack.cxx.

641  {
642  ATH_MSG_DEBUG("Booking Up Trk::Track Info...");
643 
644  std::string nt1id = m_ntupleName + "/TrkTrack_Up";
645  std::string comments = "Trk::UpTrack Information";
646 
647  NTuplePtr nt1(m_ntupleSvc, nt1id);
648  if (nt1) {
649  ATH_MSG_DEBUG("Ntuple is already booked");
650  } else {
651  ATH_MSG_DEBUG("Attempting to book general ntuple");
652  nt1 = m_ntupleSvc->book(nt1id, CLID_ColumnWiseTuple, comments);
653 
654  if (nt1) {
655  StatusCode sc;
656  // nt1->addItem("event", m_nt_event); // event number
657  sc = nt1->addItem("nTracks_Up", m_nt_nUptracks, 0, maxTracks); // number of tracks
658 
659  // ----------------------------------------------------------------------
660  // Trk::Track parameters
661  sc = nt1->addItem("Trk_d0_Up", m_nt_nUptracks, m_nt_Trk_d0_Up);
662  sc = nt1->addItem("Trk_z0_Up", m_nt_nUptracks, m_nt_Trk_z0_Up);
663  sc = nt1->addItem("Trk_phi0_Up", m_nt_nUptracks, m_nt_Trk_phi0_Up);
664  sc = nt1->addItem("Trk_theta0_Up", m_nt_nUptracks, m_nt_Trk_theta0_Up);
665  sc = nt1->addItem("Trk_qoverp_Up", m_nt_nUptracks, m_nt_Trk_qoverp_Up);
666  sc = nt1->addItem("Trk_pt_Up", m_nt_nUptracks, m_nt_Trk_pt_Up);
667  // ----------------------------------------------------------------------
668 
669  // ----------------------------------------------------------------------
670  // Trk::Track hits...
671  sc = nt1->addItem("Trk_nHits_Up", m_nt_nUptracks, m_nt_Trk_nHits_Up);
672  sc = nt1->addItem("Trk_nhitsPixels_Up", m_nt_nUptracks, m_nt_Trk_nhitspix_Up);
673  sc = nt1->addItem("Trk_nhitsSCT_Up", m_nt_nUptracks, m_nt_Trk_nhitssct_Up);
674  sc = nt1->addItem("Trk_nhitsTRT_Up", m_nt_nUptracks, m_nt_Trk_nhitstrt_Up);
675 
676  sc = nt1->addItem("Trk_nsharedPixels_Up", m_nt_nUptracks, m_nt_Trk_nsharedPixels_Up);
677  sc = nt1->addItem("Trk_nsharedSCT_Up", m_nt_nUptracks, m_nt_Trk_nsharedSCT_Up);
678  sc = nt1->addItem("Trk_nshared_Up", m_nt_nUptracks, m_nt_Trk_nshared_Up);
679 
680  sc = nt1->addItem("Trk_nholesPixels_Up", m_nt_nUptracks, m_nt_Trk_nholesPixels_Up);
681  sc = nt1->addItem("Trk_nholesSCT_Up", m_nt_nUptracks, m_nt_Trk_nholesSCT_Up);
682  sc = nt1->addItem("Trk_nholes_Up", m_nt_nUptracks, m_nt_Trk_nholes_Up);
683 
684  sc = nt1->addItem("Trk_chi2_Up", m_nt_nUptracks, m_nt_Trk_chi2_Up);
685  sc = nt1->addItem("Trk_ndof_Up", m_nt_nUptracks, m_nt_Trk_ndof_Up);
686  sc = nt1->addItem("Trk_chi2Prob_Up", m_nt_nUptracks, m_nt_Trk_chi2Prob_Up);
687  // ----------------------------------------------------------------------
688 
689  if (sc.isFailure()) ATH_MSG_FATAL("Failed ntupleSvc()");
690  else ATH_MSG_DEBUG("Ntuple " << nt1id << " has been booked successfully! ");
691  } else {
692  ATH_MSG_ERROR("Error booking ntuple");
693  }
694  }
695 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ dumpMatching()

StatusCode InDetAlignFillTrack::dumpMatching ( const TrackCollection tracksUpper,
const TrackCollection tracksLower 
)
private

Definition at line 1091 of file InDetAlignFillTrack.cxx.

1092  {
1093  ATH_MSG_DEBUG("In dumpMatching()");
1094 
1095  int nTracksUpper = 0;
1096 
1097  // looping over the upper barrel tracks
1098  TrackCollection::const_iterator trackItrUpper = tracksUpper->begin();
1099  TrackCollection::const_iterator trackItrUpperE = tracksUpper->end();
1100  for (; trackItrUpper != trackItrUpperE; ++trackItrUpper) {
1101  const Trk::Track* trackUpper = *trackItrUpper;
1102  if (trackUpper == nullptr) {
1103  ATH_MSG_DEBUG("No associated Trk::Track object found for track " << nTracksUpper);
1104  continue;
1105  }
1106 
1107  const Trk::Perigee* measUpperPer = trackUpper->perigeeParameters();
1108 
1109  // Get the track parameters from the Upper Track
1110  float d0Up = measUpperPer->parameters()[Trk::d0];
1111  float phi0Up = measUpperPer->parameters()[Trk::phi0];
1112  float eta0Up = measUpperPer->eta();
1113  float z0Up = measUpperPer->parameters()[Trk::z0];
1114  float thetaUp = measUpperPer->parameters()[Trk::theta];
1115  float qOverPtUp = measUpperPer->parameters()[Trk::qOverP] * 1000 / std::sin(thetaUp);
1116  float chargeUp = measUpperPer->charge();
1117  float ptUp = measUpperPer->pT() / 1000.;
1118 
1119  if (msgLvl(MSG::DEBUG)) {
1120  msg(MSG::DEBUG) << nTracksUpper << ". UpTrack -> Track Parameters:" << endmsg;
1121  msg(MSG::DEBUG) << " d0, z0, phi0, theta, q/p" << d0Up << ", " << z0Up << ", "
1122  << phi0Up << ", " << thetaUp << ", " << qOverPtUp << endmsg;
1123  }
1124 
1125  int nTracksLower = 0;
1126 
1127  bool matchFound = false;
1128  float Matched_Low_d0 = -999;
1129  float Matched_Low_phi0 = -999;
1130  //**
1131  float Matched_Low_theta = -999;
1132  float Matched_Low_eta0 = -999;
1133  float Matched_Low_z0 = -999;
1134  float Matched_Low_qOverPt = -999;
1135  float Matched_Low_charge = -999;
1136  float Matched_Low_pt = -999;
1137 
1138  // looping over the lower barrel tracks
1139  DataVector<Trk::Track>::const_iterator trackItrLower = tracksLower->begin();
1140  DataVector<Trk::Track>::const_iterator trackItrLowerE = tracksLower->end();
1141  for (; trackItrLower != trackItrLowerE; ++trackItrLower) { //looping over Lower tracks
1142  const Trk::Track* trackLower = *trackItrLower;
1143  if (trackLower == nullptr) {
1144  ATH_MSG_DEBUG("No associated Trk::Track object found for track " << nTracksLower);
1145  continue;
1146  }
1147 
1148  const Trk::Perigee* measLowerPer = trackLower->perigeeParameters();
1149 
1150  float d0Low = measLowerPer->parameters()[Trk::d0];
1151  float phi0Low = measLowerPer->parameters()[Trk::phi0];
1152  float eta0Low = measLowerPer->eta();
1153  float z0Low = measLowerPer->parameters()[Trk::z0];
1154  float thetaLow = measLowerPer->parameters()[Trk::theta];
1155  float qOverPtLow = measLowerPer->parameters()[Trk::qOverP] * 1000 / std::sin(thetaLow);
1156  float chargeLow = measLowerPer->charge();
1157  float ptLow = measLowerPer->pT() / 1000.;
1158 
1159  //selecting Lower track that is closest to Upper in eta-phi
1160  float dphi2 = (phi0Up - phi0Low) * (phi0Up - phi0Low);
1161 
1162  //For TRT only tracks we will ignore the delta eta
1163  // and just require a delta phi match
1164  float deta2 = (eta0Up - eta0Low) * (eta0Up - eta0Low);
1165 
1166  // look for a matching track within a cone
1167  float dR = std::sqrt(dphi2 + deta2);
1168  ATH_MSG_DEBUG("dR (sqrt(dphi+deta2): " << dR);
1169  ATH_MSG_DEBUG("minmdR (sqrt(dphi+deta2): " << m_mindR);
1170  if (dR < m_mindR) {
1171  // m_mindR = dR;
1172  Matched_Low_d0 = d0Low;
1173  Matched_Low_phi0 = phi0Low;
1174  //**
1175  Matched_Low_theta = thetaLow;
1176  Matched_Low_eta0 = eta0Low;
1177  Matched_Low_z0 = z0Low;
1178  Matched_Low_qOverPt = qOverPtLow;
1179  Matched_Low_charge = chargeLow;
1180  Matched_Low_pt = ptLow;
1181 
1182  if (dR < m_matchedRcut) {
1183  if (msgLvl(MSG::DEBUG)) {
1184  msg(MSG::DEBUG) << nTracksLower << ". LowTrack -> Track Parameters:" << endmsg;
1185  msg(MSG::DEBUG) << " d0, z0, phi0, theta, q/p: " << d0Low << ", " << z0Low << ", "
1186  << phi0Low << ", " << thetaLow << ", " << qOverPtLow << endmsg;
1187  }
1188 
1189  matchFound = true;
1190  }
1191  } else {
1192  ATH_MSG_DEBUG("No matching low track found!!");
1193  }
1194  nTracksLower++;
1195  } //looping over lower tracks
1196 
1197  if (matchFound) {
1198  ATH_MSG_DEBUG("Match found!");
1199  m_nt_matchingTrk = 1;
1200  m_nt_Trk_delta_d0[nTracksUpper] = d0Up - Matched_Low_d0;
1201  m_nt_Trk_delta_phi0[nTracksUpper] = phi0Up - Matched_Low_phi0;
1202  //**
1203  m_nt_Trk_delta_theta0[nTracksUpper] = thetaUp - Matched_Low_theta;
1204  m_nt_Trk_delta_eta[nTracksUpper] = eta0Up - Matched_Low_eta0;
1205  m_nt_Trk_delta_z0[nTracksUpper] = z0Up - Matched_Low_z0;
1206  m_nt_Trk_delta_qoverpt[nTracksUpper] = qOverPtUp - Matched_Low_qOverPt;
1207  m_nt_Trk_delta_pt[nTracksUpper] = ptUp - Matched_Low_pt;
1208  m_nt_Trk_delta_charge[nTracksUpper] = chargeUp - Matched_Low_charge;
1209  } // end match found
1210 
1211 
1212  nTracksUpper++;
1213  } //looping over upper tracks
1214 
1215  return StatusCode::SUCCESS;
1216 }

◆ dumpPerigee()

void InDetAlignFillTrack::dumpPerigee ( const Trk::TrackParameters generatedTrackPerigee,
int  index 
)
private

Definition at line 1050 of file InDetAlignFillTrack.cxx.

1051  {
1052  ATH_MSG_VERBOSE( "In dumpPerigee()" );
1053 
1054  float d0 = generatedTrackPerigee->parameters()[Trk::d0];
1055  float z0 = generatedTrackPerigee->parameters()[Trk::z0];
1056  float phi0 = generatedTrackPerigee->parameters()[Trk::phi0];
1057  float theta = generatedTrackPerigee->parameters()[Trk::theta];
1058  float eta = generatedTrackPerigee->eta();
1059  float charge = generatedTrackPerigee->charge();
1060  float qoverp = generatedTrackPerigee->parameters()[Trk::qOverP];
1061  float qoverpt = generatedTrackPerigee->parameters()[Trk::qOverP] / (std::sin(theta));
1062  float pt = (1 / qoverpt) * (charge);
1063  // int pdg = genParticle->pdg_id();
1064 
1065  if (msgLvl(MSG::DEBUG)) {
1066  msg(MSG::DEBUG) << " - Extrapolated genParticle perigee parameters "
1067  << "(d0, z0, phi0, theta, q/p)" << endmsg;
1068  msg(MSG::DEBUG) << " " << d0 << ", " << z0 << ", "
1069  << phi0 << ", " << theta << ", " << qoverp << endmsg;
1070 
1071  msg(MSG::DEBUG) << " p = " << std::abs(1.0 / qoverp) / CLHEP::GeV << " CLHEP::GeV/c, "
1072  << " pT = " << pt / CLHEP::GeV << " CLHEP::GeV/c" << endmsg;
1073  }
1074 
1075  m_nt_mc_Trk_d0[index] = d0;
1076  m_nt_mc_Trk_z0[index] = z0;
1080  m_nt_mc_Trk_qoverp[index] = qoverp;
1081  m_nt_mc_Trk_qoverpt[index] = qoverpt;
1082  m_nt_mc_Trk_pt[index] = pt;
1084 
1085  return;
1086 }

◆ dumpTrack()

void InDetAlignFillTrack::dumpTrack ( int  itrk,
const Trk::Track trk,
const std::string &  TrkColName 
)
private

Definition at line 831 of file InDetAlignFillTrack.cxx.

832  {
833  ATH_MSG_VERBOSE("In dump" << TrkColName << "Track()");
834 
835  const Trk::Perigee* aMeasPer = trk->perigeeParameters();
836 
837  if (aMeasPer == nullptr) {
838  ATH_MSG_ERROR("Could not get Trk::MeasuredPerigee");
839  } else {
840  double d0 = aMeasPer->parameters()[Trk::d0];
841  double z0 = aMeasPer->parameters()[Trk::z0];
842  double phi0 = aMeasPer->parameters()[Trk::phi0];
843  double theta = aMeasPer->parameters()[Trk::theta];
844  double qOverP = aMeasPer->parameters()[Trk::qOverP];
845 
846  if (msgLvl(MSG::DEBUG)) {
847  msg(MSG::DEBUG) << itrk << ". " << TrkColName
848  << " Track Parameters (d0, z0, phi0, theta, q/p)" << endmsg;
849  msg(MSG::DEBUG) << " " << d0 << ", " << z0 << ", "
850  << phi0 << ", " << theta << ", " << qOverP << endmsg;
851  }
852 
853  float transverseMomentum = std::sqrt((aMeasPer->momentum().x()) * (aMeasPer->momentum().x())
854  + (aMeasPer->momentum().y()) * (aMeasPer->momentum().y()));
855 
856  ATH_MSG_DEBUG(" p = " << aMeasPer->momentum().mag() / CLHEP::GeV << " CLHEP::GeV/c, "
857  << " pT = " << transverseMomentum / CLHEP::GeV << " CLHEP::GeV/c");
858 
859  // number of hits
860  int nHits = (*trk).measurementsOnTrack()->size();
861  ATH_MSG_DEBUG(" - number of hits : " << nHits);
862  if (nHits != 0) {
863  if (TrkColName == "Up") m_totalUphits += nHits;
864  else if (TrkColName == "Low") m_totalLowhits += nHits;
865  else m_totalhits += nHits;
866  }
867 
868  // number of hits, shared hits and holes
869  int nhitspix = 0, nhitssct = 0, nhitstrt = 0;
870  int nshared = 0, nshpix = 0, nshsct = 0;
871  int nholes = 0, nhpix = 0, nhsct = 0;
872 
873  xAOD::TrackParticle* trackPart = m_particleCreator->createParticle(*trk);
874  uint8_t iSummaryValue(0); // Dummy counter to retrieve summary values
875 
876  if (not trackPart) ATH_MSG_ERROR("Could not get xAOD::TrackParticle");
877 
878  else {
879  // hits
880  nhitspix = trackPart->summaryValue(iSummaryValue, xAOD::numberOfPixelHits) ? iSummaryValue : 0;
881  nhitssct = trackPart->summaryValue(iSummaryValue, xAOD::numberOfSCTHits) ? iSummaryValue : 0;
882  nhitstrt = trackPart->summaryValue(iSummaryValue, xAOD::numberOfTRTHits) ? iSummaryValue : 0;
883 
884  if (msgLvl(MSG::DEBUG)) {
885  msg(MSG::DEBUG) << " -- number of Pixel hits : " << nhitspix << endmsg;
886  msg(MSG::DEBUG) << " -- number of SCT hits : " << nhitssct << endmsg;
887  msg(MSG::DEBUG) << " -- number of TRT hits : " << nhitstrt << endmsg;
888  }
889 
890  if (nhitspix != 0) {
891  if (TrkColName == "Up") m_totalUpPixhits += nhitspix;
892  else if (TrkColName == "Low") m_totalLowPixhits += nhitspix;
893  else m_totalPixhits += nhitspix;
894  }
895  if (nhitssct != 0) {
896  if (TrkColName == "Up") m_totalUpSCThits += nhitssct;
897  else if (TrkColName == "Low") m_totalLowSCThits += nhitssct;
898  else m_totalSCThits += nhitssct;
899  }
900  if (nhitstrt != 0) {
901  if (TrkColName == "Up") m_totalUpTRThits += nhitstrt;
902  else if (TrkColName == "Low") m_totalLowTRThits += nhitstrt;
903  else m_totalTRThits += nhitstrt;
904  }
905 
906  // shared hits
907  nshpix = trackPart->summaryValue(iSummaryValue, xAOD::numberOfPixelSharedHits) ? iSummaryValue : 0;
908  nshsct = trackPart->summaryValue(iSummaryValue, xAOD::numberOfSCTSharedHits) ? iSummaryValue : 0;
909  nshared = nshpix + nshsct;
910 
911  if (nshpix < 0) nshpix = 0;
912  if (nshsct < 0) nshsct = 0;
913  if (nshared < 0) nshared = 0;
914 
915  if (msgLvl(MSG::DEBUG)) {
916  msg(MSG::DEBUG) << " - number of shared hits : " << nshared << endmsg;
917  msg(MSG::DEBUG) << " -- number of Pixel shared hits : " << nshpix << endmsg;
918  msg(MSG::DEBUG) << " -- number of SCT shared hits : " << nshsct << endmsg;
919  }
920 
921  // holes
922  nhpix = trackPart->summaryValue(iSummaryValue, xAOD::numberOfPixelHoles) ? iSummaryValue : 0;
923  nhsct = trackPart->summaryValue(iSummaryValue, xAOD::numberOfSCTHoles) ? iSummaryValue : 0;
924  nholes = nhpix + nhsct;
925 
926  if (nhpix < 0) nhpix = 0;
927  if (nhsct < 0) nhsct = 0;
928  if (nholes < 0) nholes = 0;
929 
930  if (msgLvl(MSG::DEBUG)) {
931  msg(MSG::DEBUG) << " - number of Pixel holes : " << nhpix << endmsg;
932  msg(MSG::DEBUG) << " -- number of SCT holes : " << nhsct << endmsg;
933  msg(MSG::DEBUG) << " -- number of holes : " << nholes << endmsg;
934  }
935  }
936 
937  // get fit quality and chi2 probability of track
938  // chi2Prob = TMath::Prob(chi2,DoF) ROOT function
939  double chi2Prob = 0.;
940  const Trk::FitQuality* fitQual = (*trk).fitQuality();
941  if (fitQual == nullptr) {
942  ATH_MSG_ERROR("No fit quality assigned to the track");
943  chi2Prob = -1e12; // return big value
944  } else {
945  if (fitQual->chiSquared() > 0. && fitQual->numberDoF() > 0) {
946  Genfun::CumulativeChiSquare probabilityFunction(fitQual->numberDoF());
947  chi2Prob = 1 - probabilityFunction(fitQual->chiSquared());
948 
949  if (msgLvl(MSG::DEBUG)) {
950  msg(MSG::DEBUG) << " - chi2 : " << fitQual->chiSquared() << endmsg;
951  msg(MSG::DEBUG) << " - ndof : " << fitQual->numberDoF() << endmsg;
952  msg(MSG::DEBUG) << " - chi2 propability : " << chi2Prob << endmsg;
953  }
954  }
955  }
956  // Fill ntuple
957  if (TrkColName == "Up") {
958  m_nt_Trk_d0_Up[itrk] = d0;
959  m_nt_Trk_z0_Up[itrk] = z0;
960  m_nt_Trk_phi0_Up[itrk] = phi0;
961  m_nt_Trk_theta0_Up[itrk] = theta;
962  m_nt_Trk_qoverp_Up[itrk] = qOverP;
963  m_nt_Trk_pt_Up[itrk] = transverseMomentum;
964 
965  m_nt_Trk_nHits_Up[itrk] = nHits;
966  m_nt_Trk_nhitspix_Up[itrk] = nhitspix;
967  m_nt_Trk_nhitssct_Up[itrk] = nhitssct;
968  m_nt_Trk_nhitstrt_Up[itrk] = nhitstrt;
969 
970  m_nt_Trk_nsharedPixels_Up[itrk] = nshpix;
971  m_nt_Trk_nsharedSCT_Up[itrk] = nshsct;
972  m_nt_Trk_nshared_Up[itrk] = nshared;
973 
974  m_nt_Trk_nholesPixels_Up[itrk] = nhpix;
975  m_nt_Trk_nholesSCT_Up[itrk] = nhsct;
976  m_nt_Trk_nholes_Up[itrk] = nholes;
977  if (fitQual) {
978  m_nt_Trk_chi2_Up[itrk] = fitQual->chiSquared();
979  m_nt_Trk_ndof_Up[itrk] = fitQual->numberDoF();
980  } else {
981  m_nt_Trk_chi2_Up[itrk] = 0;
982  m_nt_Trk_ndof_Up[itrk] = 0;
983  }
984  m_nt_Trk_chi2Prob_Up[itrk] = chi2Prob;
985  } else if (TrkColName == "Low") {
986  m_nt_Trk_d0_Low[itrk] = d0;
987  m_nt_Trk_z0_Low[itrk] = z0;
988  m_nt_Trk_phi0_Low[itrk] = phi0;
989  m_nt_Trk_theta0_Low[itrk] = theta;
990  m_nt_Trk_qoverp_Low[itrk] = qOverP;
991  m_nt_Trk_pt_Low[itrk] = transverseMomentum;
992 
993  m_nt_Trk_nHits_Low[itrk] = nHits;
994  m_nt_Trk_nhitspix_Low[itrk] = nhitspix;
995  m_nt_Trk_nhitssct_Low[itrk] = nhitssct;
996  m_nt_Trk_nhitstrt_Low[itrk] = nhitstrt;
997 
998  m_nt_Trk_nsharedPixels_Low[itrk] = nshpix;
999  m_nt_Trk_nsharedSCT_Low[itrk] = nshsct;
1000  m_nt_Trk_nshared_Low[itrk] = nshared;
1001 
1002  m_nt_Trk_nholesPixels_Low[itrk] = nhpix;
1003  m_nt_Trk_nholesSCT_Low[itrk] = nhsct;
1004  m_nt_Trk_nholes_Low[itrk] = nholes;
1005  if (fitQual) {
1006  m_nt_Trk_chi2_Low[itrk] = fitQual->chiSquared();
1007  m_nt_Trk_ndof_Low[itrk] = fitQual->numberDoF();
1008  } else {
1009  m_nt_Trk_chi2_Low[itrk] = 0;
1010  m_nt_Trk_ndof_Low[itrk] = 0;
1011  }
1012  m_nt_Trk_chi2Prob_Low[itrk] = chi2Prob;
1013  } else {
1014  m_nt_Trk_d0[itrk] = d0;
1015  m_nt_Trk_z0[itrk] = z0;
1016  m_nt_Trk_phi0[itrk] = phi0;
1017  m_nt_Trk_theta0[itrk] = theta;
1018  m_nt_Trk_qoverp[itrk] = qOverP;
1019  m_nt_Trk_pt[itrk] = transverseMomentum;
1020 
1021  m_nt_Trk_nHits[itrk] = nHits;
1022  m_nt_Trk_nhitspix[itrk] = nhitspix;
1023  m_nt_Trk_nhitssct[itrk] = nhitssct;
1024  m_nt_Trk_nhitstrt[itrk] = nhitstrt;
1025 
1026  m_nt_Trk_nsharedPixels[itrk] = nshpix;
1027  m_nt_Trk_nsharedSCT[itrk] = nshsct;
1028  m_nt_Trk_nshared[itrk] = nshared;
1029 
1030  m_nt_Trk_nholesPixels[itrk] = nhpix;
1031  m_nt_Trk_nholesSCT[itrk] = nhsct;
1032  m_nt_Trk_nholes[itrk] = nholes;
1033  if (fitQual) {
1034  m_nt_Trk_chi2[itrk] = fitQual->chiSquared();
1035  m_nt_Trk_ndof[itrk] = fitQual->numberDoF();
1036  } else {
1037  m_nt_Trk_chi2[itrk] = 0;
1038  m_nt_Trk_ndof[itrk] = 0;
1039  }
1040  m_nt_Trk_chi2Prob[itrk] = chi2Prob;
1041  }
1042  }
1043 
1044  return;
1045 }

◆ dumpTrackCol() [1/2]

int InDetAlignFillTrack::dumpTrackCol ( const TrackCollection tracks)
private

Definition at line 802 of file InDetAlignFillTrack.cxx.

802  {
803  return dumpTrackCol(tracks, "");
804 }

◆ dumpTrackCol() [2/2]

int InDetAlignFillTrack::dumpTrackCol ( const TrackCollection tracks,
const std::string &  TrkColName 
)
private

Definition at line 809 of file InDetAlignFillTrack.cxx.

810  {
811  ATH_MSG_DEBUG("In dump" << TrkColName << "TrackCol()");
812 
813  int itrk = 0;
814 
815  TrackCollection::const_iterator trackItr = tracks->begin();
816  TrackCollection::const_iterator trackItrE = tracks->end();
817 
818  //looping over tracks
819  for (; trackItr != trackItrE && itrk < maxTracks; ++trackItr) {
820  if (*trackItr != nullptr) dumpTrack(itrk, (*trackItr), TrkColName);
821 
822  itrk++;
823  }
824 
825  return itrk;
826 }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

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

◆ FillTrack()

StatusCode InDetAlignFillTrack::FillTrack ( )
virtual

Implements IInDetAlignFillTrack.

Definition at line 189 of file InDetAlignFillTrack.cxx.

189  {
190  ATH_MSG_DEBUG("In FillTrack()");
191  ATH_MSG_DEBUG(" event " << m_events);
192  StatusCode sc;
193 
194  const EventContext& ctx = Gaudi::Hive::currentContext();
195  const TrackCollection* tracks;// = new TrackCollection;
196  const TrackCollection* Uptracks;// = new TrackCollection;
197  const TrackCollection* Lowtracks;// = new TrackCollection;
198 
199  // retrieve all tracks from TDS
200  ATH_CHECK(evtStore()->retrieve(tracks, m_inputCol));
201 
202  // retrieve all Up tracks from TDS
203  if (m_inputUpCol != "") {
204  ATH_CHECK(evtStore()->retrieve(Uptracks, m_inputUpCol));
205  }
206 
207  // retrieve all Low tracks from TDS
208  if (m_inputLowCol != "") {
209  ATH_CHECK(evtStore()->retrieve(Lowtracks, m_inputLowCol));
210  }
211 
212  m_nt_ntracks = tracks->size();
213  ATH_MSG_DEBUG("Retrieved Track Collection size: " << tracks->size());
214 
215  if (m_inputUpCol != "") {
216  m_nt_nUptracks = Uptracks->size();
217  ATH_MSG_DEBUG("Retrieved Up Track Collection size: " << Uptracks->size());
218  }
219 
220  if (m_inputLowCol != "") {
221  m_nt_nLowtracks = Lowtracks->size();
222  ATH_MSG_DEBUG("Retrieved Low Track Collection size: " << Lowtracks->size());
223  }
224 
225  ATH_MSG_DEBUG("Printing input track collection");
226  m_totaltrks += dumpTrackCol(tracks);
227  if (m_inputUpCol != "") m_totalUptrks += dumpTrackCol(Uptracks, "Up");
228  if (m_inputLowCol != "") m_totalLowtrks += dumpTrackCol(Lowtracks, "Low");
229 
230  // matching
231  if (m_doMatching && m_inputUpCol != "" && m_inputLowCol != "")
232  if (StatusCode::SUCCESS != dumpMatching(Uptracks, Lowtracks)) {
233  ATH_MSG_ERROR("dumpMatching failure");
234  return StatusCode::FAILURE;
235  }
236 
237 
238  // if truth is available...
239  if (m_doTruth) {
240  int nTracks = 0;
241 
242  const TrackTruthCollection* truthCol = nullptr;
243 
244  // retrieve all track truth collection from TDS
245  if (StatusCode::SUCCESS != evtStore()->retrieve(truthCol, m_TruthTrkCol)) {
246  ATH_MSG_ERROR("Cannot find " << m_inputCol);
247  return StatusCode::FAILURE;
248  } else {
249  if (!truthCol) {
250  ATH_MSG_ERROR( "Failure retrieving " << m_TruthTrkCol );
251  return StatusCode::FAILURE;
252  }
253 
254  if (msgLvl(MSG::DEBUG)) {
255  msg(MSG::DEBUG) << "Collection with name " << m_TruthTrkCol << " found in StoreGate" << endmsg;
256  msg(MSG::DEBUG) << "Retrieved " << truthCol->size() << " truth tracks from StoreGate" << endmsg;
257  }
258 
259  m_nt_nmctracks = truthCol->size();
260 
261  TrackCollection::const_iterator trackItr = tracks->begin();
262  TrackCollection::const_iterator trackItrE = tracks->end();
263 
264  //looping over tracks
265  for (; trackItr != trackItrE && nTracks < maxTracks; ++trackItr) {
266  const Trk::Track* track = *trackItr;
267  if (track == nullptr) {
268  ATH_MSG_WARNING("No associated Trk::Track object found for track "
269  << nTracks);
270  continue;
271  }
272  //Coverity fix: 14309: useless check. Commented out
273  //if (truthCol) {
274 
275  // the key for the truth std::map is an ElementLink<TrackCollection> object
276  // comprises a pointer to the track and reconstructed track collection
278  trackLink.setElement(const_cast<Trk::Track*>(track));
279  trackLink.setStorableObject(*tracks);
280  const ElementLink<TrackCollection> trackLink2 = trackLink;
281 
282  // trying to find the std::map entry for this reconstructed track
283  TrackTruthCollection::const_iterator found = truthCol->find(trackLink2);
284 
285  if (found != truthCol->end()) {
286  // getting the TrackTruth object - the map element
287  TrackTruth trkTruth = found->second;
288  ATH_MSG_DEBUG("got trkTruth");
289 
290  // probability of the reco<->truth match
291  float trkTruthProb = trkTruth.probability();
292 
293  const HepMcParticleLink& HMPL = trkTruth.particleLink();
294 
295  if (HMPL.isValid()) {
296 #ifdef HEPMC3
297  HepMC::ConstGenParticlePtr genParticle = HMPL.scptr();
298 #else
299  const HepMC::GenParticle* genParticle = HMPL.cptr();
300 #endif
301 
302  double charge = 1.0;
303  if (genParticle->pdg_id() < 0) charge = -charge;
304 
305  Amg::Vector3D productionVertex(genParticle->production_vertex()->position().x(),
306  genParticle->production_vertex()->position().y(),
307  genParticle->production_vertex()->position().z());
308 
309  if (msgLvl(MSG::DEBUG)) {
310  msg(MSG::DEBUG) << nTracks << ". Generated Particle " << endmsg;
311  msg(MSG::DEBUG) << " * PDG " << genParticle->pdg_id()
312  << ", Status " << genParticle->status()
313  << ", mass " << genParticle->momentum().m() << " CLHEP::MeV/c"
314  << endmsg;
315  }
316 
317  float genPt = std::sqrt((genParticle->momentum().x()) * (genParticle->momentum().x())
318  + (genParticle->momentum().y()) * (genParticle->momentum().y()));
319 
320  ATH_MSG_DEBUG(" * pt " << genPt / CLHEP::GeV << " CLHEP::GeV/c"
321  << ", p " << genParticle->momentum().e() / CLHEP::GeV << " CLHEP::GeV/c"
322  << ", eta " << genParticle->momentum().eta()
323  << ", phi " << genParticle->momentum().phi() << " CLHEP::rad");
324 
325  m_nt_mc_trkistruth[nTracks] = 1;
326  m_nt_mc_Trk_pdg[nTracks] = genParticle->pdg_id();
327  m_nt_mc_Trk_prob[nTracks] = trkTruthProb;
328  float pX = genParticle->momentum().px();
329  float pY = genParticle->momentum().py();
330  float genParticlePt = std::sqrt((pX * pX) + (pY * pY));
331  m_nt_mc_Trk_genParticlePt[nTracks] = genParticlePt;
332  m_nt_mc_Trk_genParticleEta[nTracks] = genParticle->momentum().eta();
333  m_nt_mc_Trk_genParticlePhi[nTracks] = genParticle->momentum().phi();
334 
335  if (genParticle->pdg_id() == 0) ATH_MSG_WARNING("Particle with PDG 0!");
336  else if (!genParticle->production_vertex()) ATH_MSG_WARNING(
337  "No GenVertex (generator level) production vertex found!");
338  else {
339  // currently cannot configure the TruthToTrack tool properly
340 
341  const Trk::TrackParameters* generatedTrackPerigee = nullptr;
342 
343  //using a tool to produce perigee track parameters from generated parameters
344  generatedTrackPerigee = m_truthToTrack->makePerigeeParameters(genParticle);
345 
346  if (!generatedTrackPerigee) {
347  if (msgLvl(MSG::DEBUG)) {
348  msg(MSG::DEBUG) << "Unable to extrapolate genParticle to perigee!" << endmsg;
349  msg(MSG::DEBUG) << "Trying to extrapolate directly to exclude material effects!" << endmsg;
350  }
351 
352  const TrackRecordCollection* recordCollection = nullptr;
353 
354  sc = evtStore()->retrieve(recordCollection, "CaloEntryLayer");
355  if (sc == StatusCode::FAILURE) {
356  ATH_MSG_ERROR("Could not get track record!");
357  return sc;
358  }
359  ATH_MSG_DEBUG("reading from track record, size = "
360  << recordCollection->size());
361 
362  int nmctracks = 0;
363 
364  for (TrackRecordCollection::const_iterator record = recordCollection->begin();
365  record != recordCollection->end(); ++record) {
366  if (std::abs((*record).GetPDGCode()) != 13) continue;
367  HepGeom::Point3D<double> productionVertex = (*record).GetPosition();
368  double charge = (*record).GetPDGCode() > 0 ? -1.0 : 1.0;
369 
370 
371  Amg::Vector3D direction((*record).GetMomentum().x(),
372  (*record).GetMomentum().y(),
373  (*record).GetMomentum().z());
374 
375  double momentum = direction.mag();
376  if (momentum < 500) continue;
377  double genPar_qOverP = 1. / direction.mag();
378  direction *= genPar_qOverP;
379  if (charge < 0) genPar_qOverP = -genPar_qOverP;
380 
381 
382  double genPar_phi = direction.phi();
383  if (genPar_phi < 0.) genPar_phi = genPar_phi + 2.0*M_PI;
384 
385  ATH_MSG_DEBUG("Production vertex (x,y,z): ("
386  << productionVertex.x() << ", "
387  << productionVertex.y() << ", "
388  << productionVertex.z() << ")");
389 
390  double genPar_theta = direction.theta();
391 
392  // Create a planar surface and transform the vertex information to a TrackParameters object
393  Amg::Transform3D globalSurfaceCentre;
394  globalSurfaceCentre.setIdentity();
395  globalSurfaceCentre *= Amg::Translation3D(productionVertex.x(),
396  productionVertex.y(), productionVertex.z());
397 
398  Trk::PlaneSurface planeSurface(globalSurfaceCentre, 5., 5.);
399 
400  const Amg::Vector3D productionVertexAsGlobalPosition(productionVertex.x(),
401  productionVertex.y(),
402  productionVertex.z());
403 
404  const Trk::AtaPlane* productionVertexTrackParams
405  = new Trk::AtaPlane(productionVertexAsGlobalPosition,
406  genPar_phi, genPar_theta, genPar_qOverP,
407  planeSurface);
408 
409  // Create a new perigee surface
410  Trk::PerigeeSurface perigeeSurface;
411 
412  if (!tracks->empty()) perigeeSurface = ((**tracks->begin()).perigeeParameters()->associatedSurface());
413 
414 
415  const Amg::Vector3D& perigeeGlobalPosition = perigeeSurface.center();
416 
417  ATH_MSG_DEBUG("Surface global centre (x,y,z): ("
418  << perigeeGlobalPosition.x() << ", "
419  << perigeeGlobalPosition.y() << ", "
420  << perigeeGlobalPosition.z() << ")");
421 
422  // Extrapolate the TrackParameters object to the perigee
423 
424  // ( Establish the distance between perigee and generated vertex.
425  // If less than tolerance don't bother with the propagation )
426  const Amg::Vector3D difference = productionVertexAsGlobalPosition - perigeeGlobalPosition;
427 
428  double distance = std::sqrt(difference.x() * difference.x() + difference.y() * difference.y());
429  ATH_MSG_DEBUG("Distance between perigee point and generated vertex: "
430  << distance / CLHEP::m << " m");
431 
432  const Trk::TrackParameters* generatedTrackPerigee = nullptr;
433 
434  // Extrapolate directly to exclude material effects!
435  if (distance > 1.e-4) {
436  ATH_MSG_DEBUG("Distance between perigee and generated vertex exceeds tolerance ("
437  << 1.e-4 << " mm)... Extrapolating!");
438 
439  generatedTrackPerigee = m_extrapolator->extrapolateDirectly(ctx,
440  *productionVertexTrackParams,
441  perigeeSurface,
443  false,
444  Trk::nonInteracting).release();
445  if (!generatedTrackPerigee) continue;
446  } else {
447  ATH_MSG_DEBUG("Distance between perigee and generated vertex is less than tolerance ("
448  << 1.e-4 << " CLHEP::mm)... " << "No propagation to perigee required");
449 
450  // Clone the parameters from the AtaPlane object on to perigee
451  generatedTrackPerigee = new Trk::Perigee(0., 0.,
452  genPar_phi, genPar_theta, genPar_qOverP,
453  Trk::PerigeeSurface(productionVertexAsGlobalPosition));
454  }
455 
456  dumpPerigee(generatedTrackPerigee, nmctracks);
457  m_nt_mc_Trk_vtxX[nmctracks] = productionVertex.x();
458  m_nt_mc_Trk_vtxY[nmctracks] = productionVertex.y();
459  m_nt_mc_Trk_vtxZ[nmctracks] = productionVertex.z();
460 
461  delete productionVertexTrackParams;
462  delete generatedTrackPerigee;
463 
464  nmctracks++;
465  }
466  }
467 
468  if (generatedTrackPerigee) {
469  dumpPerigee(generatedTrackPerigee, nTracks);
470  m_nt_mc_Trk_vtxX[nTracks] = genParticle->production_vertex()->position().x();
471  m_nt_mc_Trk_vtxY[nTracks] = genParticle->production_vertex()->position().y();
472  m_nt_mc_Trk_vtxZ[nTracks] = genParticle->production_vertex()->position().z();
473 
474  delete generatedTrackPerigee;
475  }
476  }
477  }
478  m_nt_mc_trkistruth[nTracks] = 0;
479  }
480  //} // if (truthCol) commented out for coverity 14309
481 
482  nTracks++;
483  }
484  }
485  } // end if m_doTruth
486 
487  // Store TrkTrack branch
488  std::string nt0id = m_ntupleName + "/TrkTrack";
489  sc = m_ntupleSvc->writeRecord(nt0id);
490  if (sc.isFailure()) ATH_MSG_ERROR("Could not write " << nt0id << "!");
491 
492  if (m_inputUpCol != "") {
493  // Store TrkTrack_Up branch
494  std::string nt1id = m_ntupleName + "/TrkTrack_Up";
495  sc = m_ntupleSvc->writeRecord(nt1id);
496  if (sc.isFailure()) ATH_MSG_ERROR("Could not write " << nt1id << "!");
497  }
498 
499  if (m_inputLowCol != "") {
500  // Store TrkTrack_Low branch
501  std::string nt2id = m_ntupleName + "/TrkTrack_Low";
502  sc = m_ntupleSvc->writeRecord(nt2id);
503  if (sc.isFailure()) ATH_MSG_ERROR("Could not write " << nt2id << "!");
504  }
505 
506  if (m_doMatching && m_inputUpCol != "" && m_inputLowCol != "") {
507  // Store Matching Up/Low TrkTracks branch
508  std::string nt3id = m_ntupleName + "/TrkTrack_Matching";
509  sc = m_ntupleSvc->writeRecord(nt3id);
510  if (sc.isFailure()) ATH_MSG_ERROR("Could not write " << nt3id << "!");
511  }
512 
513 
514  m_events++;
515 
516  // check for negative values
517  if (m_totaltrks < 0) m_totaltrks = 0;
518  if (m_totalhits < 0) m_totalhits = 0;
519  if (m_totalPixhits < 0) m_totalPixhits = 0;
520  if (m_totalSCThits < 0) m_totalSCThits = 0;
521  if (m_totalTRThits < 0) m_totalTRThits = 0;
522 
523  if (m_inputUpCol != "") {
524  if (m_totalUptrks < 0) m_totalUptrks = 0;
525  if (m_totalUphits < 0) m_totalUphits = 0;
526  if (m_totalUpPixhits < 0) m_totalUpPixhits = 0;
527  if (m_totalUpSCThits < 0) m_totalUpSCThits = 0;
528  if (m_totalUpTRThits < 0) m_totalUpTRThits = 0;
529  }
530 
531  if (m_inputLowCol != "") {
532  if (m_totalLowtrks < 0) m_totalLowtrks = 0;
533  if (m_totalLowhits < 0) m_totalLowhits = 0;
537  }
538 
539  if (m_events < 0) m_events = 0;
540  // no deletion because StoreGate owns these pointers.
541  //delete tracks;
542  //delete Uptracks;
543  //delete Lowtracks;
544  return StatusCode::SUCCESS;
545 }

◆ finalize()

StatusCode InDetAlignFillTrack::finalize ( )
virtual

Definition at line 145 of file InDetAlignFillTrack.cxx.

145  {
146  if (msgLvl(MSG::DEBUG)) {
147  msg(MSG::DEBUG) << "Finalize() of FillTrack" << endmsg;
148 
149  msg(MSG::DEBUG) << "________________________________________________________" << endmsg;
150  msg(MSG::DEBUG) << endmsg;
151  msg(MSG::DEBUG) << " InDetAlignFillTrack Summary: " << endmsg;
152  msg(MSG::DEBUG) << " - " << m_events << " events" << endmsg;
153  msg(MSG::DEBUG) << " - " << m_totaltrks << " tracks" << endmsg;
154  msg(MSG::DEBUG) << " - " << m_totalhits << " hits" << endmsg;
155  msg(MSG::DEBUG) << " - " << m_totalPixhits << " Pixel hits" << endmsg;
156  msg(MSG::DEBUG) << " - " << m_totalSCThits << " SCT hits" << endmsg;
157  msg(MSG::DEBUG) << " - " << m_totalTRThits << " TRT hits" << endmsg;
158  msg(MSG::DEBUG) << "________________________________________________________" << endmsg;
159 
160  if (m_inputUpCol != "") {
161  msg(MSG::DEBUG) << " Up Track Summary: " << endmsg;
162  msg(MSG::DEBUG) << " - " << m_totalUptrks << " tracks" << endmsg;
163  msg(MSG::DEBUG) << " - " << m_totalUphits << " hits" << endmsg;
164  msg(MSG::DEBUG) << " - " << m_totalUpPixhits << " Pixel hits" << endmsg;
165  msg(MSG::DEBUG) << " - " << m_totalUpSCThits << " SCT hits" << endmsg;
166  msg(MSG::DEBUG) << " - " << m_totalUpTRThits << " TRT hits" << endmsg;
167  msg(MSG::DEBUG) << "________________________________________________________" << endmsg;
168  }
169 
170  if (m_inputLowCol != "") {
171  msg(MSG::DEBUG) << " Low Track Summary: " << endmsg;
172  msg(MSG::DEBUG) << " - " << m_totalLowtrks << " tracks" << endmsg;
173  msg(MSG::DEBUG) << " - " << m_totalLowhits << " hits" << endmsg;
174  msg(MSG::DEBUG) << " - " << m_totalLowPixhits << " Pixel hits" << endmsg;
175  msg(MSG::DEBUG) << " - " << m_totalLowSCThits << " SCT hits" << endmsg;
176  msg(MSG::DEBUG) << " - " << m_totalLowTRThits << " TRT hits" << endmsg;
177  msg(MSG::DEBUG) << "________________________________________________________" << endmsg;
178  }
179 
180  msg(MSG::DEBUG) << endmsg;
181  }
182 
183  return StatusCode::SUCCESS;
184 }

◆ GetTrkHits()

virtual int InDetAlignFillTrack::GetTrkHits ( ) const
inlinevirtual

Implements IInDetAlignFillTrack.

Definition at line 51 of file InDetAlignFillTrack.h.

51 { return m_totalhits; }

◆ GetTrkPixHits()

virtual int InDetAlignFillTrack::GetTrkPixHits ( ) const
inlinevirtual

Implements IInDetAlignFillTrack.

Definition at line 52 of file InDetAlignFillTrack.h.

52 { return m_totalPixhits; }

◆ GetTrks()

virtual int InDetAlignFillTrack::GetTrks ( ) const
inlinevirtual

Implements IInDetAlignFillTrack.

Definition at line 50 of file InDetAlignFillTrack.h.

50 { return m_totaltrks; }

◆ GetTrkSCTHits()

virtual int InDetAlignFillTrack::GetTrkSCTHits ( ) const
inlinevirtual

Implements IInDetAlignFillTrack.

Definition at line 53 of file InDetAlignFillTrack.h.

53 { return m_totalSCThits; }

◆ GetTrkTRTHits()

virtual int InDetAlignFillTrack::GetTrkTRTHits ( ) const
inlinevirtual

Implements IInDetAlignFillTrack.

Definition at line 54 of file InDetAlignFillTrack.h.

54 { return m_totalTRThits; }

◆ initialize()

StatusCode InDetAlignFillTrack::initialize ( )
virtual

Definition at line 116 of file InDetAlignFillTrack.cxx.

116  {
117  ATH_MSG_DEBUG("Initialize() of FillTrack");
118  // retrieve the NTuple Service
119  ATH_CHECK(service("NTupleSvc", m_ntupleSvc));
120  // get TrackParticleCreatorTool
121  ATH_CHECK(m_particleCreator.retrieve());
122  // if Truth...
123  if (m_doTruth) {
124  // Get TruthToTrack
125  ATH_CHECK(m_truthToTrack.retrieve());
126  // Get Extrapolator Tool
127  ATH_CHECK(m_extrapolator.retrieve());
128  // retrieve the PartPropSvc service (need for Cosmics)
129  IPartPropSvc* p_PartPropSvc;
130  static const bool CREATEIFNOTTHERE(true);
131  ATH_CHECK(svcLoc()->service("PartPropSvc", p_PartPropSvc, CREATEIFNOTTHERE));
132  }
133  // Book Ntuple
134  bookNtuple();
135  if (m_inputUpCol != "") bookUpNtuple();
136  if (m_inputLowCol != "") bookLowNtuple();
138  ATH_MSG_DEBUG("Initialize() of FillTrack successful");
139  return StatusCode::SUCCESS;
140 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

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.

◆ interfaceID()

const InterfaceID & IInDetAlignFillTrack::interfaceID ( )
inlinestaticinherited

Definition at line 30 of file IInDetAlignFillTrack.h.

31 { return IID_INDETALIGN_IInDetAlignFillTrack; }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

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()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doMatching

bool InDetAlignFillTrack::m_doMatching
private

switch on/off the matching information

Definition at line 71 of file InDetAlignFillTrack.h.

◆ m_doTruth

bool InDetAlignFillTrack::m_doTruth
private

switch on/off the truth information

Definition at line 72 of file InDetAlignFillTrack.h.

◆ m_events

int InDetAlignFillTrack::m_events
private

Definition at line 95 of file InDetAlignFillTrack.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extrapolator

ToolHandle< Trk::IExtrapolator > InDetAlignFillTrack::m_extrapolator
private

Pointer to IExtrapolator.

Definition at line 101 of file InDetAlignFillTrack.h.

◆ m_inputCol

std::string InDetAlignFillTrack::m_inputCol
private

Definition at line 74 of file InDetAlignFillTrack.h.

◆ m_inputLowCol

std::string InDetAlignFillTrack::m_inputLowCol
private

Definition at line 76 of file InDetAlignFillTrack.h.

◆ m_inputUpCol

std::string InDetAlignFillTrack::m_inputUpCol
private

Definition at line 75 of file InDetAlignFillTrack.h.

◆ m_matchedRcut

float InDetAlignFillTrack::m_matchedRcut
private

Definition at line 97 of file InDetAlignFillTrack.h.

◆ m_mindR

float InDetAlignFillTrack::m_mindR
private

Definition at line 98 of file InDetAlignFillTrack.h.

◆ m_nt_matchingTrk

NTuple::Item<long> InDetAlignFillTrack::m_nt_matchingTrk
private

matching tracks

Definition at line 108 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_charge

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_charge
private

MonteCarlo charge parameter.

Definition at line 214 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_d0

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_d0
private

MonteCarlo d0 parameter.

Definition at line 205 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_eta

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_eta
private

MonteCarlo eta parameter.

Definition at line 209 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_genParticleEta

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_genParticleEta
private

generated eta

Definition at line 201 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_genParticlePhi

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_genParticlePhi
private

generated phi

Definition at line 202 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_genParticlePt

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_genParticlePt
private

generated pt

Definition at line 200 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_pdg

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_pdg
private

MonteCarlo pdg parameter.

Definition at line 216 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_phi0

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_phi0
private

MonteCarlo phi0 parameter.

Definition at line 207 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_prob

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_prob
private

MonteCarlo prob parameter.

Definition at line 215 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_pt

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_pt
private

MonteCarlo pt parameter.

Definition at line 213 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_qoverp

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_qoverp
private

MonteCarlo q/p parameter.

Definition at line 210 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_qoverpt

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_qoverpt
private

MonteCarlo q/pt parameter.

Definition at line 211 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_theta0

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_theta0
private

MonteCarlo theta0 parameter.

Definition at line 208 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_vtxX

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_vtxX
private

MonteCarlo Vertex.X parameter.

Definition at line 218 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_vtxY

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_vtxY
private

MonteCarlo Vertex.Y parameter.

Definition at line 219 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_vtxZ

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_vtxZ
private

MonteCarlo Vertex.Z parameter.

Definition at line 220 of file InDetAlignFillTrack.h.

◆ m_nt_mc_Trk_z0

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_Trk_z0
private

MonteCarlo z0 parameter.

Definition at line 206 of file InDetAlignFillTrack.h.

◆ m_nt_mc_trkistruth

NTuple::Array<float> InDetAlignFillTrack::m_nt_mc_trkistruth
private

Has the Track an associated truth track?

Definition at line 197 of file InDetAlignFillTrack.h.

◆ m_nt_nLowtracks

NTuple::Item<long> InDetAlignFillTrack::m_nt_nLowtracks
private

number of Low tracks

Definition at line 106 of file InDetAlignFillTrack.h.

◆ m_nt_nmctracks

NTuple::Item<long> InDetAlignFillTrack::m_nt_nmctracks
private

number of mc tracks

Definition at line 107 of file InDetAlignFillTrack.h.

◆ m_nt_ntracks

NTuple::Item<long> InDetAlignFillTrack::m_nt_ntracks
private

number of tracks

Definition at line 104 of file InDetAlignFillTrack.h.

◆ m_nt_nUptracks

NTuple::Item<long> InDetAlignFillTrack::m_nt_nUptracks
private

number of Up tracks

Definition at line 105 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_chi2

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_chi2
private

number of chi2

Definition at line 133 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_chi2_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_chi2_Low
private

number of chi2 (Low track)

Definition at line 191 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_chi2_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_chi2_Up
private

number of chi2 (Up track)

Definition at line 162 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_chi2Prob

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_chi2Prob
private

number of chi2 probability

Definition at line 135 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_chi2Prob_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_chi2Prob_Low
private

number of chi2 probability (Low track)

Definition at line 193 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_chi2Prob_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_chi2Prob_Up
private

number of chi2 probability (Up track)

Definition at line 164 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_d0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_d0
private

d0 parameter

Definition at line 111 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_d0_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_d0_Low
private

d0 parameter (Low track)

Definition at line 169 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_d0_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_d0_Up
private

d0 parameter (Up track)

Definition at line 140 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_charge

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_charge
private

charge parameter

Definition at line 234 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_d0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_d0
private

d0 parameter

Definition at line 226 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_eta

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_eta
private

eta parameter

Definition at line 231 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_phi0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_phi0
private

phi0 parameter

Definition at line 228 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_pt

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_pt
private

pt parameter

Definition at line 233 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_qoverpt

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_qoverpt
private

q/pt parameter

Definition at line 232 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_theta0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_theta0
private

theta parameter

Definition at line 230 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_delta_z0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_delta_z0
private

z0 parameter

Definition at line 227 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_ndof

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_ndof
private

number of ndof

Definition at line 134 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_ndof_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_ndof_Low
private

number of ndof (Low track)

Definition at line 192 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_ndof_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_ndof_Up
private

number of ndof (Up track)

Definition at line 163 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nHits

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nHits
private

number of hits

Definition at line 120 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nHits_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nHits_Low
private

number of hits (Low track)

Definition at line 178 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nHits_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nHits_Up
private

number of hits (Up track)

Definition at line 149 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitspix

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitspix
private

number of Pixel hits

Definition at line 121 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitspix_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitspix_Low
private

number of Pixel hits (Low track)

Definition at line 179 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitspix_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitspix_Up
private

number of Pixel hits (Up track)

Definition at line 150 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitssct

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitssct
private

number of SCT hits

Definition at line 122 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitssct_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitssct_Low
private

number of SCT hits (Low track)

Definition at line 180 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitssct_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitssct_Up
private

number of SCT hits (Up track)

Definition at line 151 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitstrt

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitstrt
private

number of TRT hits

Definition at line 123 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitstrt_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitstrt_Low
private

number of TRT hits (Low track)

Definition at line 181 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nhitstrt_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nhitstrt_Up
private

number of TRT hits (Up track)

Definition at line 152 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholes

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholes
private

number of holes

Definition at line 131 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholes_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholes_Low
private

number of holes (Low track)

Definition at line 189 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholes_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholes_Up
private

number of holes (Up track)

Definition at line 160 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholesPixels

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholesPixels
private

number of Pixel holes

Definition at line 129 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholesPixels_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholesPixels_Low
private

number of Pixel holes (Low track)

Definition at line 187 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholesPixels_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholesPixels_Up
private

number of Pixel holes (Up track)

Definition at line 158 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholesSCT

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholesSCT
private

number of SCT holes

Definition at line 130 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholesSCT_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholesSCT_Low
private

number of SCT holes (Low track)

Definition at line 188 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nholesSCT_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nholesSCT_Up
private

number of SCT holes (Up track)

Definition at line 159 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nshared

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nshared
private

number of shared hits

Definition at line 127 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nshared_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nshared_Low
private

number of shared hits (Low track)

Definition at line 185 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nshared_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nshared_Up
private

number of shared hits (Up track)

Definition at line 156 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nsharedPixels

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nsharedPixels
private

number of Pixel shared hits

Definition at line 125 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nsharedPixels_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nsharedPixels_Low
private

number of Pixel shared hits (Low track)

Definition at line 183 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nsharedPixels_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nsharedPixels_Up
private

number of Pixel shared hits (Up track)

Definition at line 154 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nsharedSCT

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nsharedSCT
private

number of SCT shared hits

Definition at line 126 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nsharedSCT_Low

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nsharedSCT_Low
private

number of SCT shared hits (Low track)

Definition at line 184 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_nsharedSCT_Up

NTuple::Array<long> InDetAlignFillTrack::m_nt_Trk_nsharedSCT_Up
private

number of SCT shared hits (Up track)

Definition at line 155 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_phi0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_phi0
private

phi0 parameter

Definition at line 113 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_phi0_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_phi0_Low
private

phi0 parameter (Low track)

Definition at line 171 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_phi0_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_phi0_Up
private

phi0 parameter (Up track)

Definition at line 142 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_pt

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_pt
private

pt parameter

Definition at line 116 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_pt_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_pt_Low
private

pt parameter (Low track)

Definition at line 174 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_pt_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_pt_Up
private

pt parameter (Up track)

Definition at line 145 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_qoverp

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_qoverp
private

q/p parameter

Definition at line 115 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_qoverp_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_qoverp_Low
private

q/p parameter (Low track)

Definition at line 173 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_qoverp_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_qoverp_Up
private

q/p parameter (Up track)

Definition at line 144 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_theta0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_theta0
private

theta0 parameter

Definition at line 114 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_theta0_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_theta0_Low
private

theta0 parameter (Low track)

Definition at line 172 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_theta0_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_theta0_Up
private

theta0 parameter (Up track)

Definition at line 143 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_z0

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_z0
private

z0 parameter

Definition at line 112 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_z0_Low

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_z0_Low
private

z0 parameter (Low track)

Definition at line 170 of file InDetAlignFillTrack.h.

◆ m_nt_Trk_z0_Up

NTuple::Array<float> InDetAlignFillTrack::m_nt_Trk_z0_Up
private

z0 parameter (Up track)

Definition at line 141 of file InDetAlignFillTrack.h.

◆ m_ntupleName

std::string InDetAlignFillTrack::m_ntupleName
private

ntuple name

Definition at line 78 of file InDetAlignFillTrack.h.

◆ m_ntupleSvc

INTupleSvc* InDetAlignFillTrack::m_ntupleSvc
private

Definition at line 57 of file InDetAlignFillTrack.h.

◆ m_particleCreator

ToolHandle<Trk::ITrackParticleCreatorTool> InDetAlignFillTrack::m_particleCreator
private

Pointer to track particle creator tool.

Definition at line 102 of file InDetAlignFillTrack.h.

◆ m_totalhits

int InDetAlignFillTrack::m_totalhits
private

Definition at line 81 of file InDetAlignFillTrack.h.

◆ m_totalLowhits

int InDetAlignFillTrack::m_totalLowhits
private

Definition at line 91 of file InDetAlignFillTrack.h.

◆ m_totalLowPixhits

int InDetAlignFillTrack::m_totalLowPixhits
private

Definition at line 92 of file InDetAlignFillTrack.h.

◆ m_totalLowSCThits

int InDetAlignFillTrack::m_totalLowSCThits
private

Definition at line 93 of file InDetAlignFillTrack.h.

◆ m_totalLowtrks

int InDetAlignFillTrack::m_totalLowtrks
private

Definition at line 90 of file InDetAlignFillTrack.h.

◆ m_totalLowTRThits

int InDetAlignFillTrack::m_totalLowTRThits
private

Definition at line 94 of file InDetAlignFillTrack.h.

◆ m_totalPixhits

int InDetAlignFillTrack::m_totalPixhits
private

Definition at line 82 of file InDetAlignFillTrack.h.

◆ m_totalSCThits

int InDetAlignFillTrack::m_totalSCThits
private

Definition at line 83 of file InDetAlignFillTrack.h.

◆ m_totaltrks

int InDetAlignFillTrack::m_totaltrks
private

Definition at line 80 of file InDetAlignFillTrack.h.

◆ m_totalTRThits

int InDetAlignFillTrack::m_totalTRThits
private

Definition at line 84 of file InDetAlignFillTrack.h.

◆ m_totalUphits

int InDetAlignFillTrack::m_totalUphits
private

Definition at line 86 of file InDetAlignFillTrack.h.

◆ m_totalUpPixhits

int InDetAlignFillTrack::m_totalUpPixhits
private

Definition at line 87 of file InDetAlignFillTrack.h.

◆ m_totalUpSCThits

int InDetAlignFillTrack::m_totalUpSCThits
private

Definition at line 88 of file InDetAlignFillTrack.h.

◆ m_totalUptrks

int InDetAlignFillTrack::m_totalUptrks
private

Definition at line 85 of file InDetAlignFillTrack.h.

◆ m_totalUpTRThits

int InDetAlignFillTrack::m_totalUpTRThits
private

Definition at line 89 of file InDetAlignFillTrack.h.

◆ m_truthToTrack

ToolHandle< Trk::ITruthToTrack > InDetAlignFillTrack::m_truthToTrack
private

Pointer to TruthToTrack.

Definition at line 100 of file InDetAlignFillTrack.h.

◆ m_TruthTrkCol

std::string InDetAlignFillTrack::m_TruthTrkCol
private

Definition at line 77 of file InDetAlignFillTrack.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
InDetAlignFillTrack::m_nt_Trk_phi0_Up
NTuple::Array< float > m_nt_Trk_phi0_Up
phi0 parameter (Up track)
Definition: InDetAlignFillTrack.h:142
Trk::anyDirection
@ anyDirection
Definition: PropDirection.h:22
xAOD::numberOfPixelHoles
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
Definition: TrackingPrimitives.h:261
InDetAlignFillTrack::m_nt_Trk_chi2_Low
NTuple::Array< float > m_nt_Trk_chi2_Low
number of chi2 (Low track)
Definition: InDetAlignFillTrack.h:191
InDetAlignFillTrack::m_doTruth
bool m_doTruth
switch on/off the truth information
Definition: InDetAlignFillTrack.h:72
InDetAlignFillTrack::m_nt_mc_Trk_genParticleEta
NTuple::Array< float > m_nt_mc_Trk_genParticleEta
generated eta
Definition: InDetAlignFillTrack.h:201
InDetAlignFillTrack::m_nt_Trk_d0_Up
NTuple::Array< float > m_nt_Trk_d0_Up
d0 parameter (Up track)
Definition: InDetAlignFillTrack.h:140
InDetAlignFillTrack::m_nt_Trk_phi0
NTuple::Array< float > m_nt_Trk_phi0
phi0 parameter
Definition: InDetAlignFillTrack.h:113
WriteBchToCool.comments
comments
Definition: WriteBchToCool.py:297
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
InDetAlignFillTrack::bookNtuple
void bookNtuple()
Definition: InDetAlignFillTrack.cxx:550
InDetAlignFillTrack::m_nt_Trk_d0_Low
NTuple::Array< float > m_nt_Trk_d0_Low
d0 parameter (Low track)
Definition: InDetAlignFillTrack.h:169
InDetAlignFillTrack::bookMatchingNtuple
void bookMatchingNtuple()
Definition: InDetAlignFillTrack.cxx:758
InDetAlignFillTrack::m_nt_mc_Trk_theta0
NTuple::Array< float > m_nt_mc_Trk_theta0
MonteCarlo theta0 parameter.
Definition: InDetAlignFillTrack.h:208
InDetAlignFillTrack::m_nt_mc_Trk_qoverpt
NTuple::Array< float > m_nt_mc_Trk_qoverpt
MonteCarlo q/pt parameter.
Definition: InDetAlignFillTrack.h:211
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
InDetAlignFillTrack::m_totalUpSCThits
int m_totalUpSCThits
Definition: InDetAlignFillTrack.h:88
xAOD::numberOfSCTSharedHits
@ numberOfSCTSharedHits
number of SCT hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:272
InDetAlignFillTrack::m_nt_mc_Trk_genParticlePt
NTuple::Array< float > m_nt_mc_Trk_genParticlePt
generated pt
Definition: InDetAlignFillTrack.h:200
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
InDetAlignFillTrack::dumpTrack
void dumpTrack(int, const Trk::Track *, const std::string &)
Definition: InDetAlignFillTrack.cxx:831
Trk::ParametersBase::charge
double charge() const
Returns the charge.
InDetAlignFillTrack::m_nt_Trk_theta0
NTuple::Array< float > m_nt_Trk_theta0
theta0 parameter
Definition: InDetAlignFillTrack.h:114
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
InDetAlignFillTrack::m_ntupleName
std::string m_ntupleName
ntuple name
Definition: InDetAlignFillTrack.h:78
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
InDetAlignFillTrack::m_nt_Trk_pt
NTuple::Array< float > m_nt_Trk_pt
pt parameter
Definition: InDetAlignFillTrack.h:116
InDetAlignFillTrack::m_nt_Trk_nsharedPixels_Up
NTuple::Array< long > m_nt_Trk_nsharedPixels_Up
number of Pixel shared hits (Up track)
Definition: InDetAlignFillTrack.h:154
InDetAlignFillTrack::m_nt_mc_Trk_phi0
NTuple::Array< float > m_nt_mc_Trk_phi0
MonteCarlo phi0 parameter.
Definition: InDetAlignFillTrack.h:207
InDetAccessor::phi0
@ phi0
Definition: InDetAccessor.h:33
InDetAlignFillTrack::m_ntupleSvc
INTupleSvc * m_ntupleSvc
Definition: InDetAlignFillTrack.h:57
InDetAlignFillTrack::m_totalUphits
int m_totalUphits
Definition: InDetAlignFillTrack.h:86
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:71
InDetAlignFillTrack::m_nt_Trk_nshared_Low
NTuple::Array< long > m_nt_Trk_nshared_Low
number of shared hits (Low track)
Definition: InDetAlignFillTrack.h:185
InDetAlignFillTrack::m_nt_Trk_nholes_Low
NTuple::Array< long > m_nt_Trk_nholes_Low
number of holes (Low track)
Definition: InDetAlignFillTrack.h:189
AtlasHitsVector
Definition: AtlasHitsVector.h:33
InDetAlignFillTrack::m_nt_Trk_z0_Low
NTuple::Array< float > m_nt_Trk_z0_Low
z0 parameter (Low track)
Definition: InDetAlignFillTrack.h:170
InDetAlignFillTrack::m_nt_Trk_nholes
NTuple::Array< long > m_nt_Trk_nholes
number of holes
Definition: InDetAlignFillTrack.h:131
test_pyathena.pt
pt
Definition: test_pyathena.py:11
M_PI
#define M_PI
Definition: ActiveFraction.h:11
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
Trk::Perigee
ParametersT< 5, Charged, PerigeeSurface > Perigee
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:29
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::z0
@ z0
Definition: ParamDefs.h:70
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
InDetAlignFillTrack::m_nt_Trk_chi2Prob_Low
NTuple::Array< float > m_nt_Trk_chi2Prob_Low
number of chi2 probability (Low track)
Definition: InDetAlignFillTrack.h:193
InDetAlignFillTrack::m_nt_mc_trkistruth
NTuple::Array< float > m_nt_mc_trkistruth
Has the Track an associated truth track?
Definition: InDetAlignFillTrack.h:197
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
InDetAlignFillTrack::m_nt_Trk_delta_z0
NTuple::Array< float > m_nt_Trk_delta_z0
z0 parameter
Definition: InDetAlignFillTrack.h:227
xAOD::numberOfTRTHits
@ numberOfTRTHits
number of TRT hits [unit8_t].
Definition: TrackingPrimitives.h:275
InDetAlignFillTrack::m_totalhits
int m_totalhits
Definition: InDetAlignFillTrack.h:81
InDetAlignFillTrack::m_particleCreator
ToolHandle< Trk::ITrackParticleCreatorTool > m_particleCreator
Pointer to track particle creator tool.
Definition: InDetAlignFillTrack.h:102
InDetAlignFillTrack::m_matchedRcut
float m_matchedRcut
Definition: InDetAlignFillTrack.h:97
InDetAlignFillTrack::m_totalLowhits
int m_totalLowhits
Definition: InDetAlignFillTrack.h:91
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDetAlignFillTrack::m_nt_mc_Trk_charge
NTuple::Array< float > m_nt_mc_Trk_charge
MonteCarlo charge parameter.
Definition: InDetAlignFillTrack.h:214
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
InDetAlignFillTrack::m_nt_Trk_pt_Low
NTuple::Array< float > m_nt_Trk_pt_Low
pt parameter (Low track)
Definition: InDetAlignFillTrack.h:174
InDetAccessor::qOverP
@ qOverP
perigee
Definition: InDetAccessor.h:35
Trk::Surface::center
const Amg::Vector3D & center() const
Returns the center position of the Surface.
InDetAlignFillTrack::m_nt_nmctracks
NTuple::Item< long > m_nt_nmctracks
number of mc tracks
Definition: InDetAlignFillTrack.h:107
InDetAlignFillTrack::m_inputUpCol
std::string m_inputUpCol
Definition: InDetAlignFillTrack.h:75
AtlasHitsVector::begin
const_iterator begin() const
Definition: AtlasHitsVector.h:131
InDetAlignFillTrack::m_nt_Trk_nhitstrt
NTuple::Array< long > m_nt_Trk_nhitstrt
number of TRT hits
Definition: InDetAlignFillTrack.h:123
InDetAlignFillTrack::dumpTrackCol
int dumpTrackCol(const TrackCollection *)
Definition: InDetAlignFillTrack.cxx:802
InDetAlignFillTrack::m_nt_Trk_delta_eta
NTuple::Array< float > m_nt_Trk_delta_eta
eta parameter
Definition: InDetAlignFillTrack.h:231
InDetAlignFillTrack::m_nt_Trk_delta_qoverpt
NTuple::Array< float > m_nt_Trk_delta_qoverpt
q/pt parameter
Definition: InDetAlignFillTrack.h:232
InDetAlignFillTrack::m_nt_Trk_nhitstrt_Up
NTuple::Array< long > m_nt_Trk_nhitstrt_Up
number of TRT hits (Up track)
Definition: InDetAlignFillTrack.h:152
InDetAlignFillTrack::m_nt_Trk_qoverp_Low
NTuple::Array< float > m_nt_Trk_qoverp_Low
q/p parameter (Low track)
Definition: InDetAlignFillTrack.h:173
AtlasHitsVector::const_iterator
CONT::const_iterator const_iterator
Definition: AtlasHitsVector.h:43
InDetAlignFillTrack::m_nt_Trk_nholesPixels_Low
NTuple::Array< long > m_nt_Trk_nholesPixels_Low
number of Pixel holes (Low track)
Definition: InDetAlignFillTrack.h:187
InDetAlignFillTrack::m_TruthTrkCol
std::string m_TruthTrkCol
Definition: InDetAlignFillTrack.h:77
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
InDetAlignFillTrack::m_nt_Trk_nHits_Up
NTuple::Array< long > m_nt_Trk_nHits_Up
number of hits (Up track)
Definition: InDetAlignFillTrack.h:149
InDetAlignFillTrack::dumpPerigee
void dumpPerigee(const Trk::TrackParameters *, int)
Definition: InDetAlignFillTrack.cxx:1050
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
InDetAlignFillTrack::m_nt_Trk_pt_Up
NTuple::Array< float > m_nt_Trk_pt_Up
pt parameter (Up track)
Definition: InDetAlignFillTrack.h:145
InDetAlignFillTrack::m_nt_mc_Trk_prob
NTuple::Array< float > m_nt_mc_Trk_prob
MonteCarlo prob parameter.
Definition: InDetAlignFillTrack.h:215
InDetAlignFillTrack::m_nt_Trk_nholes_Up
NTuple::Array< long > m_nt_Trk_nholes_Up
number of holes (Up track)
Definition: InDetAlignFillTrack.h:160
InDetAlignFillTrack::bookLowNtuple
void bookLowNtuple()
Definition: InDetAlignFillTrack.cxx:700
InDetAlignFillTrack::m_inputLowCol
std::string m_inputLowCol
Definition: InDetAlignFillTrack.h:76
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
xAOD::numberOfPixelSharedHits
@ numberOfPixelSharedHits
number of Pixel all-layer hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:262
TrackTruthCollection
Definition: TrackTruthCollection.h:21
InDetAlignFillTrack::m_nt_Trk_z0_Up
NTuple::Array< float > m_nt_Trk_z0_Up
z0 parameter (Up track)
Definition: InDetAlignFillTrack.h:141
AthCommonDataStore
Definition: AthCommonDataStore.h:52
InDetAlignFillTrack::m_nt_Trk_nhitssct_Low
NTuple::Array< long > m_nt_Trk_nhitssct_Low
number of SCT hits (Low track)
Definition: InDetAlignFillTrack.h:180
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
InDetAlignFillTrack::m_nt_Trk_ndof_Low
NTuple::Array< long > m_nt_Trk_ndof_Low
number of ndof (Low track)
Definition: InDetAlignFillTrack.h:192
InDetAlignFillTrack::m_nt_Trk_nholesSCT_Up
NTuple::Array< long > m_nt_Trk_nholesSCT_Up
number of SCT holes (Up track)
Definition: InDetAlignFillTrack.h:159
InDetAlignFillTrack::m_nt_Trk_nsharedSCT_Up
NTuple::Array< long > m_nt_Trk_nsharedSCT_Up
number of SCT shared hits (Up track)
Definition: InDetAlignFillTrack.h:155
InDetAlignFillTrack::m_nt_nLowtracks
NTuple::Item< long > m_nt_nLowtracks
number of Low tracks
Definition: InDetAlignFillTrack.h:106
Trk::theta
@ theta
Definition: ParamDefs.h:72
InDetAlignFillTrack::m_nt_ntracks
NTuple::Item< long > m_nt_ntracks
number of tracks
Definition: InDetAlignFillTrack.h:104
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDetAlignFillTrack::m_totalLowTRThits
int m_totalLowTRThits
Definition: InDetAlignFillTrack.h:94
InDetAlignFillTrack::m_nt_Trk_nholesSCT
NTuple::Array< long > m_nt_Trk_nholesSCT
number of SCT holes
Definition: InDetAlignFillTrack.h:130
InDetAlignFillTrack::m_nt_Trk_qoverp
NTuple::Array< float > m_nt_Trk_qoverp
q/p parameter
Definition: InDetAlignFillTrack.h:115
InDetAlignFillTrack::m_nt_Trk_nholesSCT_Low
NTuple::Array< long > m_nt_Trk_nholesSCT_Low
number of SCT holes (Low track)
Definition: InDetAlignFillTrack.h:188
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
InDetAlignFillTrack::m_nt_Trk_phi0_Low
NTuple::Array< float > m_nt_Trk_phi0_Low
phi0 parameter (Low track)
Definition: InDetAlignFillTrack.h:171
InDetAlignFillTrack::m_nt_Trk_chi2_Up
NTuple::Array< float > m_nt_Trk_chi2_Up
number of chi2 (Up track)
Definition: InDetAlignFillTrack.h:162
TRT::Track::d0
@ d0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:62
InDetAlignFillTrack::m_totalUpTRThits
int m_totalUpTRThits
Definition: InDetAlignFillTrack.h:89
InDetAlignFillTrack::m_nt_Trk_d0
NTuple::Array< float > m_nt_Trk_d0
d0 parameter
Definition: InDetAlignFillTrack.h:111
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetAlignFillTrack::m_totalLowPixhits
int m_totalLowPixhits
Definition: InDetAlignFillTrack.h:92
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDetAlignFillTrack::m_totalLowSCThits
int m_totalLowSCThits
Definition: InDetAlignFillTrack.h:93
InDetAlignFillTrack::m_events
int m_events
Definition: InDetAlignFillTrack.h:95
InDetAlignFillTrack::m_nt_Trk_nhitspix_Low
NTuple::Array< long > m_nt_Trk_nhitspix_Low
number of Pixel hits (Low track)
Definition: InDetAlignFillTrack.h:179
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition: FitQuality.h:97
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
Trk::ParametersBase
Definition: ParametersBase.h:55
InDetAlignFillTrack::m_nt_nUptracks
NTuple::Item< long > m_nt_nUptracks
number of Up tracks
Definition: InDetAlignFillTrack.h:105
InDetAlignFillTrack::m_nt_Trk_nhitssct_Up
NTuple::Array< long > m_nt_Trk_nhitssct_Up
number of SCT hits (Up track)
Definition: InDetAlignFillTrack.h:151
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
InDetAlignFillTrack::m_nt_Trk_nhitspix_Up
NTuple::Array< long > m_nt_Trk_nhitspix_Up
number of Pixel hits (Up track)
Definition: InDetAlignFillTrack.h:150
xAOD::numberOfSCTHoles
@ numberOfSCTHoles
number of SCT holes [unit8_t].
Definition: TrackingPrimitives.h:270
InDetAlignFillTrack::m_nt_Trk_delta_pt
NTuple::Array< float > m_nt_Trk_delta_pt
pt parameter
Definition: InDetAlignFillTrack.h:233
InDetAlignFillTrack::m_nt_Trk_nsharedSCT_Low
NTuple::Array< long > m_nt_Trk_nsharedSCT_Low
number of SCT shared hits (Low track)
Definition: InDetAlignFillTrack.h:184
InDetAlignFillTrack::m_nt_Trk_nhitstrt_Low
NTuple::Array< long > m_nt_Trk_nhitstrt_Low
number of TRT hits (Low track)
Definition: InDetAlignFillTrack.h:181
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TrackTruth::particleLink
const HepMcParticleLink & particleLink() const
Definition: TrackTruth.h:26
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
InDetAlignFillTrack::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Pointer to IExtrapolator.
Definition: InDetAlignFillTrack.h:101
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
InDetAlignFillTrack::m_nt_Trk_chi2
NTuple::Array< float > m_nt_Trk_chi2
number of chi2
Definition: InDetAlignFillTrack.h:133
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
InDetAlignFillTrack::m_inputCol
std::string m_inputCol
Definition: InDetAlignFillTrack.h:74
InDetAlignFillTrack::m_nt_Trk_chi2Prob_Up
NTuple::Array< float > m_nt_Trk_chi2Prob_Up
number of chi2 probability (Up track)
Definition: InDetAlignFillTrack.h:164
Trk::Track::perigeeParameters
const Perigee * perigeeParameters() const
return Perigee.
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:163
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
InDetAlignFillTrack::m_nt_Trk_nHits_Low
NTuple::Array< long > m_nt_Trk_nHits_Low
number of hits (Low track)
Definition: InDetAlignFillTrack.h:178
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
InDetAlignFillTrack::m_totalLowtrks
int m_totalLowtrks
Definition: InDetAlignFillTrack.h:90
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Trk::d0
@ d0
Definition: ParamDefs.h:69
Trk::perigeeParameters
@ perigeeParameters
Definition: MeasurementType.h:19
InDetAlignFillTrack::m_nt_Trk_delta_theta0
NTuple::Array< float > m_nt_Trk_delta_theta0
theta parameter
Definition: InDetAlignFillTrack.h:230
InDetAlignFillTrack::m_totalSCThits
int m_totalSCThits
Definition: InDetAlignFillTrack.h:83
Trk::nonInteracting
@ nonInteracting
Definition: ParticleHypothesis.h:25
charge
double charge(const T &p)
Definition: AtlasPID.h:494
InDetAlignFillTrack::m_nt_mc_Trk_qoverp
NTuple::Array< float > m_nt_mc_Trk_qoverp
MonteCarlo q/p parameter.
Definition: InDetAlignFillTrack.h:210
InDetAlignFillTrack::m_nt_Trk_nsharedPixels
NTuple::Array< long > m_nt_Trk_nsharedPixels
number of Pixel shared hits
Definition: InDetAlignFillTrack.h:125
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDetAlignFillTrack::m_nt_Trk_nholesPixels_Up
NTuple::Array< long > m_nt_Trk_nholesPixels_Up
number of Pixel holes (Up track)
Definition: InDetAlignFillTrack.h:158
InDetAlignFillTrack::m_nt_Trk_z0
NTuple::Array< float > m_nt_Trk_z0
z0 parameter
Definition: InDetAlignFillTrack.h:112
InDetAlignFillTrack::m_nt_mc_Trk_eta
NTuple::Array< float > m_nt_mc_Trk_eta
MonteCarlo eta parameter.
Definition: InDetAlignFillTrack.h:209
InDetAlignFillTrack::m_nt_Trk_chi2Prob
NTuple::Array< float > m_nt_Trk_chi2Prob
number of chi2 probability
Definition: InDetAlignFillTrack.h:135
InDetAlignFillTrack::m_nt_mc_Trk_vtxX
NTuple::Array< float > m_nt_mc_Trk_vtxX
MonteCarlo Vertex.X parameter.
Definition: InDetAlignFillTrack.h:218
InDetAlignFillTrack::m_nt_mc_Trk_genParticlePhi
NTuple::Array< float > m_nt_mc_Trk_genParticlePhi
generated phi
Definition: InDetAlignFillTrack.h:202
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
InDetAlignFillTrack::m_nt_Trk_delta_charge
NTuple::Array< float > m_nt_Trk_delta_charge
charge parameter
Definition: InDetAlignFillTrack.h:234
Trk::AtaPlane
ParametersT< 5, Charged, PlaneSurface > AtaPlane
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:30
DeMoScan.index
string index
Definition: DeMoScan.py:362
TrackTruth
MC particle associated with a reco track + the quality of match.
Definition: TrackTruth.h:14
InDetAlignFillTrack::m_nt_Trk_nsharedSCT
NTuple::Array< long > m_nt_Trk_nsharedSCT
number of SCT shared hits
Definition: InDetAlignFillTrack.h:126
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
InDetAlignFillTrack::m_nt_Trk_nshared
NTuple::Array< long > m_nt_Trk_nshared
number of shared hits
Definition: InDetAlignFillTrack.h:127
h
InDetAlignFillTrack::m_nt_Trk_nholesPixels
NTuple::Array< long > m_nt_Trk_nholesPixels
number of Pixel holes
Definition: InDetAlignFillTrack.h:129
InDetAlignFillTrack::m_nt_Trk_delta_phi0
NTuple::Array< float > m_nt_Trk_delta_phi0
phi0 parameter
Definition: InDetAlignFillTrack.h:228
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDetAlignFillTrack::m_nt_Trk_nHits
NTuple::Array< long > m_nt_Trk_nHits
number of hits
Definition: InDetAlignFillTrack.h:120
InDetAlignFillTrack::m_nt_Trk_ndof
NTuple::Array< long > m_nt_Trk_ndof
number of ndof
Definition: InDetAlignFillTrack.h:134
Trk::PlaneSurface
Definition: PlaneSurface.h:64
AtlasHitsVector::end
const_iterator end() const
Definition: AtlasHitsVector.h:134
TrackTruth::probability
float probability() const
Definition: TrackTruth.h:28
InDetAlignFillTrack::m_totalUpPixhits
int m_totalUpPixhits
Definition: InDetAlignFillTrack.h:87
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDetAlignFillTrack::bookUpNtuple
void bookUpNtuple()
Definition: InDetAlignFillTrack.cxx:641
DEBUG
#define DEBUG
Definition: page_access.h:11
InDetAlignFillTrack::m_nt_Trk_theta0_Low
NTuple::Array< float > m_nt_Trk_theta0_Low
theta0 parameter (Low track)
Definition: InDetAlignFillTrack.h:172
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
InDetAlignFillTrack::m_truthToTrack
ToolHandle< Trk::ITruthToTrack > m_truthToTrack
Pointer to TruthToTrack.
Definition: InDetAlignFillTrack.h:100
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:73
InDetAlignFillTrack::m_nt_Trk_delta_d0
NTuple::Array< float > m_nt_Trk_delta_d0
d0 parameter
Definition: InDetAlignFillTrack.h:226
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
InDetAlignFillTrack::m_nt_Trk_qoverp_Up
NTuple::Array< float > m_nt_Trk_qoverp_Up
q/p parameter (Up track)
Definition: InDetAlignFillTrack.h:144
InDetAlignFillTrack::m_nt_Trk_nhitssct
NTuple::Array< long > m_nt_Trk_nhitssct
number of SCT hits
Definition: InDetAlignFillTrack.h:122
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
AtlasHitsVector::size
size_type size() const
Definition: AtlasHitsVector.h:143
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
Trk::FitQuality::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
Trk::ParametersBase::eta
double eta() const
Access method for pseudorapidity - from momentum.
InDetAlignFillTrack::m_totaltrks
int m_totaltrks
Definition: InDetAlignFillTrack.h:80
InDetAlignFillTrack::dumpMatching
StatusCode dumpMatching(const TrackCollection *, const TrackCollection *)
Definition: InDetAlignFillTrack.cxx:1091
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
Trk::FitQuality::numberDoF
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition: FitQuality.h:60
InDetAlignFillTrack::m_nt_Trk_nhitspix
NTuple::Array< long > m_nt_Trk_nhitspix
number of Pixel hits
Definition: InDetAlignFillTrack.h:121
InDetAlignFillTrack::m_nt_mc_Trk_pdg
NTuple::Array< float > m_nt_mc_Trk_pdg
MonteCarlo pdg parameter.
Definition: InDetAlignFillTrack.h:216
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
InDetAlignFillTrack::m_nt_mc_Trk_vtxY
NTuple::Array< float > m_nt_mc_Trk_vtxY
MonteCarlo Vertex.Y parameter.
Definition: InDetAlignFillTrack.h:219
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
InDetAlignFillTrack::m_nt_mc_Trk_pt
NTuple::Array< float > m_nt_mc_Trk_pt
MonteCarlo pt parameter.
Definition: InDetAlignFillTrack.h:213
InDetAlignFillTrack::m_nt_mc_Trk_z0
NTuple::Array< float > m_nt_mc_Trk_z0
MonteCarlo z0 parameter.
Definition: InDetAlignFillTrack.h:206
InDetAlignFillTrack::m_doMatching
bool m_doMatching
switch on/off the matching information
Definition: InDetAlignFillTrack.h:71
InDetAlignFillTrack::m_totalUptrks
int m_totalUptrks
Definition: InDetAlignFillTrack.h:85
InDetAlignFillTrack::m_totalTRThits
int m_totalTRThits
Definition: InDetAlignFillTrack.h:84
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
InDetAlignFillTrack::m_totalPixhits
int m_totalPixhits
Definition: InDetAlignFillTrack.h:82
InDetAlignFillTrack::m_nt_Trk_nshared_Up
NTuple::Array< long > m_nt_Trk_nshared_Up
number of shared hits (Up track)
Definition: InDetAlignFillTrack.h:156
InDetAlignFillTrack::m_nt_Trk_nsharedPixels_Low
NTuple::Array< long > m_nt_Trk_nsharedPixels_Low
number of Pixel shared hits (Low track)
Definition: InDetAlignFillTrack.h:183
DataVector::empty
bool empty() const noexcept
Returns true if the collection is empty.
Trk::phi0
@ phi0
Definition: ParamDefs.h:71
InDetAlignFillTrack::m_nt_mc_Trk_vtxZ
NTuple::Array< float > m_nt_mc_Trk_vtxZ
MonteCarlo Vertex.Z parameter.
Definition: InDetAlignFillTrack.h:220
InDetAlignFillTrack::m_mindR
float m_mindR
Definition: InDetAlignFillTrack.h:98
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
fitman.k
k
Definition: fitman.py:528
GenParticle
@ GenParticle
Definition: TruthClasses.h:30
InDetAlignFillTrack::m_nt_matchingTrk
NTuple::Item< long > m_nt_matchingTrk
matching tracks
Definition: InDetAlignFillTrack.h:108
InDetAlignFillTrack::m_nt_Trk_theta0_Up
NTuple::Array< float > m_nt_Trk_theta0_Up
theta0 parameter (Up track)
Definition: InDetAlignFillTrack.h:143
InDetAlignFillTrack::m_nt_mc_Trk_d0
NTuple::Array< float > m_nt_mc_Trk_d0
MonteCarlo d0 parameter.
Definition: InDetAlignFillTrack.h:205
InDetAlignFillTrack::m_nt_Trk_ndof_Up
NTuple::Array< long > m_nt_Trk_ndof_Up
number of ndof (Up track)
Definition: InDetAlignFillTrack.h:163