ATLAS Offline Software
IFillNtupleTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRKALIGNINTERFACES_IFILLNTUPLETOOL_IH
6 #define TRKALIGNINTERFACES_IFILLNTUPLETOOL_IH
7 
8 #include "GaudiKernel/IAlgTool.h"
9 
22 #include <fstream>
23 
24 static const InterfaceID
25 IID_TRKALIGNINTERFACES_IFillNtupleTool("IFillNtupleTool",1,0);
26 
27 class TFile;
28 
29 namespace Trk {
30 
31  class AlignTrack;
32 
33  class IFillNtupleTool: virtual public IAlgTool {
34 
35  public:
36  virtual ~IFillNtupleTool() {}
37 
38  static const InterfaceID& interfaceID();
39 
40  virtual StatusCode initialize() = 0;
41  virtual StatusCode finalize() = 0;
42 
44  virtual void dumpTrack(int itrk, const AlignTrack* alignTrack) = 0;
45 
47  virtual void storeHitmap() = 0;
48 
50  virtual void fillHitmap() = 0;
51 
53  virtual void fillSummary() = 0;
54 
56  virtual void showStatistics() = 0;
57 
59  virtual void fillChi2VChamberShift(const int, const int, int*,
60  double**,double**,double**,
61  double**,double**,double** ) {}
62 
64  //virtual TFile* ntupleFile() { return 0; }
65 
67  virtual void setLogStream(std::ostream * os) { m_logStream = os; }
68 
70  virtual void setNtuple(TFile* ntuple) = 0;
71 
73  virtual StatusCode fillNtuple() = 0;
74 
75  protected:
76  std::ostream * m_logStream = nullptr;
77 
78  }; // end class definition
79 
80  inline const InterfaceID& IFillNtupleTool::interfaceID()
81  { return IID_TRKALIGNINTERFACES_IFillNtupleTool; }
82 
83 } // end namespace
84 
85 #endif // TRKALIGNINTERFACES_IFILLNTUPLETOOL_IH
86 
Trk::IFillNtupleTool::fillChi2VChamberShift
virtual void fillChi2VChamberShift(const int, const int, int *, double **, double **, double **, double **, double **, double **)
used for numerical derivatives to write chi2 vs.
Definition: IFillNtupleTool.h:59
Trk::IFillNtupleTool::fillNtuple
virtual StatusCode fillNtuple()=0
writes trees and histograms to ntuple
Trk::IFillNtupleTool::m_logStream
std::ostream * m_logStream
logfile output stream
Definition: IFillNtupleTool.h:76
Trk::IFillNtupleTool::setLogStream
virtual void setLogStream(std::ostream *os)
returns pointer to TFile containing ntuple
Definition: IFillNtupleTool.h:67
Trk::IFillNtupleTool::finalize
virtual StatusCode finalize()=0
Trk::IFillNtupleTool::storeHitmap
virtual void storeHitmap()=0
stores hitmap for writing to ntuple
Trk::IFillNtupleTool::setNtuple
virtual void setNtuple(TFile *ntuple)=0
sets the output stream for the logfile
Trk::IFillNtupleTool
Definition: IFillNtupleTool.h:33
Trk::IFillNtupleTool::initialize
virtual StatusCode initialize()=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::IFillNtupleTool::fillSummary
virtual void fillSummary()=0
fills ntuple with event and track summary information
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
Trk::IFillNtupleTool::~IFillNtupleTool
virtual ~IFillNtupleTool()
Definition: IFillNtupleTool.h:36
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::AlignTrack
Definition: AlignTrack.h:41
Trk::IFillNtupleTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IFillNtupleTool.h:80
Trk::IFillNtupleTool::showStatistics
virtual void showStatistics()=0
write statistics out to log file
Trk::IFillNtupleTool::dumpTrack
virtual void dumpTrack(int itrk, const AlignTrack *alignTrack)=0
dumps track information to ntuple
Trk::IFillNtupleTool::fillHitmap
virtual void fillHitmap()=0
fills ntuple with hit information
AlignTrack
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...