ATLAS Offline Software
GlobalChi2AlignTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRKGLOBALCHI2ALIGNTOOLS_GLOBALCHI2ALIGNTOOL_H
6 #define TRKGLOBALCHI2ALIGNTOOLS_GLOBALCHI2ALIGNTOOL_H
7 
8 #include "GaudiKernel/ToolHandle.h"
10 
13 
14 //#include "TMatrixD.h"
15 
16 #include <string>
17 
31 class TFile;
32 class TTree;
33 
34 namespace Trk {
35  class Track;
36  class IMatrixTool;
37  class IAlignModuleTool;
38 
39  class GlobalChi2AlignTool : virtual public IAlignTool, public AthAlgTool {
40  public:
41 
43  GlobalChi2AlignTool(const std::string& type, const std::string& name,
44  const IInterface* parent);
45 
47  virtual ~GlobalChi2AlignTool();
48 
50  virtual StatusCode initialize();
51 
53  virtual StatusCode finalize();
54 
57 
59  virtual StatusCode solve();
60 
62  bool accumulate(AlignTrack* alignTrack);
63 
65  bool accumulateFromFiles();
66 
68  unsigned int nAccumulatedTracks() { return m_ntracks; };
69 
71  void setNtuple(TFile* ntuple) { m_ntuple=ntuple; }
72 
74  void setLogStream(std::ostream * os);
75 
78 
79  private:
80 
81  double getMaterialOnTrack(const Trk::Track* track);
82 
84  ToolHandle <Trk::IMatrixTool> m_matrixTool;
85 
87  ToolHandle <Trk::IAlignModuleTool> m_alignModuleTool;
88 
89  std::string m_pathbin;
90  std::string m_pathtxt;
91  std::string m_prefixName;
92 
93  unsigned int m_ntracks;
94  unsigned int m_nmeas;
95  unsigned int m_nhits;
96  double m_chi2;
97  unsigned int m_nDoF;
98 
100  bool m_doTree;
103 
105  TFile* m_ntuple;
106  TTree* m_tree;
107  int m_run;
108  int m_event;
110  double m_momentum;
116  double* m_secndDeriv;
117  double* m_firstDeriv;
119  double m_eta;
120  double m_phi;
121  double m_perigee_x;
122  double m_perigee_y;
123  double m_perigee_z;
125  int m_bremFit;
131 
133 
134  }; // end of class
135 
136 } // End of namespace
137 
138 #endif // TRKALIGNGENTOOLS_MATRIXTOOL_H
139 
140 
141 
Trk::GlobalChi2AlignTool::m_fromFiles
bool m_fromFiles
Definition: GlobalChi2AlignTool.h:132
Trk::GlobalChi2AlignTool::m_prefixName
std::string m_prefixName
prefix string to filenames
Definition: GlobalChi2AlignTool.h:91
Trk::GlobalChi2AlignTool::m_lowPtTrack
int m_lowPtTrack
Definition: GlobalChi2AlignTool.h:130
Trk::GlobalChi2AlignTool::m_matrixIndices
int * m_matrixIndices
Definition: GlobalChi2AlignTool.h:114
Trk::GlobalChi2AlignTool::setLogStream
void setLogStream(std::ostream *os)
sets the output stream for the logfile
Definition: GlobalChi2AlignTool.cxx:119
Trk::GlobalChi2AlignTool::m_firstDeriv
double * m_firstDeriv
Definition: GlobalChi2AlignTool.h:117
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::IAlignTool
Definition: IAlignTool.h:32
Trk::GlobalChi2AlignTool::m_secondDerivativeCut
double m_secondDerivativeCut
Definition: GlobalChi2AlignTool.h:99
IAlignTool.h
Trk::GlobalChi2AlignTool::m_perigee_z
double m_perigee_z
Definition: GlobalChi2AlignTool.h:123
Trk::GlobalChi2AlignTool::m_chamberIds
int * m_chamberIds
Definition: GlobalChi2AlignTool.h:112
Trk::GlobalChi2AlignTool::GlobalChi2AlignTool
GlobalChi2AlignTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: GlobalChi2AlignTool.cxx:42
Trk::GlobalChi2AlignTool::m_perigee_y
double m_perigee_y
Definition: GlobalChi2AlignTool.h:122
Trk::GlobalChi2AlignTool::m_nChambers
int m_nChambers
Definition: GlobalChi2AlignTool.h:111
Trk::GlobalChi2AlignTool::m_bremFit
int m_bremFit
Definition: GlobalChi2AlignTool.h:125
Trk::GlobalChi2AlignTool::finalize
virtual StatusCode finalize()
finalize
Definition: GlobalChi2AlignTool.cxx:642
Trk::GlobalChi2AlignTool::m_materialOnTrack
double m_materialOnTrack
Definition: GlobalChi2AlignTool.h:109
Trk::GlobalChi2AlignTool::m_trackInfo
int m_trackInfo
Definition: GlobalChi2AlignTool.h:124
Trk::GlobalChi2AlignTool
Definition: GlobalChi2AlignTool.h:39
Trk::GlobalChi2AlignTool::m_doTree
bool m_doTree
Definition: GlobalChi2AlignTool.h:100
Trk::GlobalChi2AlignTool::m_phi
double m_phi
Definition: GlobalChi2AlignTool.h:120
Trk::GlobalChi2AlignTool::m_chi2
double m_chi2
total chi2
Definition: GlobalChi2AlignTool.h:96
Trk::GlobalChi2AlignTool::m_momentum
double m_momentum
Definition: GlobalChi2AlignTool.h:110
Trk::GlobalChi2AlignTool::m_matrixTool
ToolHandle< Trk::IMatrixTool > m_matrixTool
Pointer to MatrixTool, used to write to and solve matrix.
Definition: GlobalChi2AlignTool.h:84
Trk::GlobalChi2AlignTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
Pointer to AlignModuleTool.
Definition: GlobalChi2AlignTool.h:87
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IMatrixTool
Interface for tool used to manipulate matrix and vector entries and to solve for alignment parameters...
Trk::GlobalChi2AlignTool::m_nDoF
unsigned int m_nDoF
number of degrees of freedom
Definition: GlobalChi2AlignTool.h:97
Trk::GlobalChi2AlignTool::m_slimmedTrack
int m_slimmedTrack
Definition: GlobalChi2AlignTool.h:128
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Trk::GlobalChi2AlignTool::m_hardScatterOrKink
int m_hardScatterOrKink
Definition: GlobalChi2AlignTool.h:129
Trk::GlobalChi2AlignTool::accumulate
bool accumulate(AlignTrack *alignTrack)
accumulates information from an AlignTrack
Definition: GlobalChi2AlignTool.cxx:143
Trk::GlobalChi2AlignTool::initialize
virtual StatusCode initialize()
initialize
Definition: GlobalChi2AlignTool.cxx:109
Trk::GlobalChi2AlignTool::m_tree
TTree * m_tree
Definition: GlobalChi2AlignTool.h:106
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
Trk::GlobalChi2AlignTool::m_pathtxt
std::string m_pathtxt
path ascii files (in/out)
Definition: GlobalChi2AlignTool.h:90
IMatrixTool.h
Trk::GlobalChi2AlignTool::m_ntracks
unsigned int m_ntracks
number of accumulated tracks
Definition: GlobalChi2AlignTool.h:93
Trk::GlobalChi2AlignTool::m_ntuple
TFile * m_ntuple
output ntuple
Definition: GlobalChi2AlignTool.h:105
Trk::GlobalChi2AlignTool::setNtuple
void setNtuple(TFile *ntuple)
set ntuple
Definition: GlobalChi2AlignTool.h:71
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::GlobalChi2AlignTool::nAccumulatedTracks
unsigned int nAccumulatedTracks()
returns total number of accumulated tracks
Definition: GlobalChi2AlignTool.h:68
Trk::GlobalChi2AlignTool::firstEventInitialize
virtual StatusCode firstEventInitialize()
sets up matrix
Definition: GlobalChi2AlignTool.cxx:126
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Trk::GlobalChi2AlignTool::~GlobalChi2AlignTool
virtual ~GlobalChi2AlignTool()
Virtual destructor.
Definition: GlobalChi2AlignTool.cxx:94
Trk::GlobalChi2AlignTool::m_actualSecndDeriv
double * m_actualSecndDeriv
Definition: GlobalChi2AlignTool.h:118
Trk::GlobalChi2AlignTool::getMaterialOnTrack
double getMaterialOnTrack(const Trk::Track *track)
Definition: GlobalChi2AlignTool.cxx:649
Trk::GlobalChi2AlignTool::m_nhits
unsigned int m_nhits
number of accumulated hits
Definition: GlobalChi2AlignTool.h:95
Trk::AlignTrack
Definition: AlignTrack.h:41
Trk::GlobalChi2AlignTool::m_nmeas
unsigned int m_nmeas
number of accumulated measurements
Definition: GlobalChi2AlignTool.h:94
Trk::GlobalChi2AlignTool::m_event
int m_event
Definition: GlobalChi2AlignTool.h:108
Trk::GlobalChi2AlignTool::m_secndDeriv
double * m_secndDeriv
Definition: GlobalChi2AlignTool.h:116
Trk::GlobalChi2AlignTool::m_storeLocalDerivOnly
bool m_storeLocalDerivOnly
Definition: GlobalChi2AlignTool.h:102
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Trk::GlobalChi2AlignTool::m_run
int m_run
Definition: GlobalChi2AlignTool.h:107
Trk::GlobalChi2AlignTool::m_writeActualSecDeriv
bool m_writeActualSecDeriv
Definition: GlobalChi2AlignTool.h:101
Trk::GlobalChi2AlignTool::m_eta
double m_eta
Definition: GlobalChi2AlignTool.h:119
Trk::GlobalChi2AlignTool::fillNtuple
StatusCode fillNtuple()
writes tree to ntuple
Definition: GlobalChi2AlignTool.cxx:630
Trk::GlobalChi2AlignTool::m_nMatrixIndices
int m_nMatrixIndices
Definition: GlobalChi2AlignTool.h:113
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::GlobalChi2AlignTool::accumulateFromFiles
bool accumulateFromFiles()
accumulates information from binary files
Definition: GlobalChi2AlignTool.cxx:574
Trk::GlobalChi2AlignTool::m_perigee_x
double m_perigee_x
Definition: GlobalChi2AlignTool.h:121
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
AthAlgTool
Definition: AthAlgTool.h:26
Trk::GlobalChi2AlignTool::solve
virtual StatusCode solve()
solves for alignment parameters
Definition: GlobalChi2AlignTool.cxx:590
Trk::GlobalChi2AlignTool::m_pathbin
std::string m_pathbin
path binary files (in/out)
Definition: GlobalChi2AlignTool.h:89
Trk::GlobalChi2AlignTool::m_nSecndDeriv
int m_nSecndDeriv
Definition: GlobalChi2AlignTool.h:115
Trk::GlobalChi2AlignTool::m_bremFitSuccessful
int m_bremFitSuccessful
Definition: GlobalChi2AlignTool.h:126
Trk::GlobalChi2AlignTool::m_straightTrack
int m_straightTrack
Definition: GlobalChi2AlignTool.h:127