PandaRoot
PndMvdQATask.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndMvdQATask header file -----
3 // ----- Created 20/3/2019 by T.Stockmanns -----
4 // -------------------------------------------------------------------------
5 
12 #ifndef PndMvdQATask_H
13 #define PndMvdQATask_H
14 
15 // Root includes
16 #include "TVector3.h"
17 #include "TRandom.h"
18 #include "TString.h"
19 #include "TGeoManager.h"
20 #include "TH1.h"
21 
22 // framework includes
23 #include "PndPersistencyTask.h"
24 #include "PndSdsHit.h"
25 #include "PndGeoHandling.h"
26 
27 class TClonesArray;
28 
30  public:
32  PndMvdQATask();
33 
35  virtual ~PndMvdQATask();
36 
38  virtual void SetParContainers();
39  virtual InitStatus Init();
40 
42  virtual void Exec(Option_t *opt);
43  virtual void FinishTask();
44  void SetWorkdir(TString path) { fWorkdir = path; } // only needed to give cdash the path to the stored pictures
45 
46  protected:
47  void CalculateDifference(PndSdsHit *hit);
48  std::vector<Double_t> DoubleGaussFit(TH1 *);
49  bool TestPixel();
50  bool TestStrip();
51  void DrawPixelHistos();
52  void DrawStripHistos();
53  void SetPixelBoundaries();
54  void SetStripBoundaries();
55 
58 
59  private:
60  PndGeoHandling *fGeoH;
61  TClonesArray *fMcPoints;
62  TClonesArray *fStripHits;
63  TClonesArray *fPixelHits;
64  Bool_t fProperDifference;
65  TVector3 fSpatialDifference;
66  TString fWorkdir;
67  double fTimeDifference;
68  double fEnergyDifference;
69 
70  std::vector<double> fPixelSpatialRes;
71  std::vector<std::pair<double, double>> fPixelBoundaries;
72  std::vector<double> fStripSpatialRes;
73  std::vector<std::pair<double, double>> fStripBoundaries;
74 
75  TH1 *fHStripSingle;
76  TH1 *fHStripDouble;
77  TH1 *fHStripAll;
78  TH1 *fHStripClusterSize;
79  TH1 *fHStripTime;
80  TH1 *fHStripEnergy;
81 
82  TH1 *fHPixelSingle;
83  TH1 *fHPixelDouble;
84  TH1 *fHPixelAll;
85  TH1 *fHPixelClusterSize;
86  TH1 *fHPixelTime;
87  TH1 *fHPixelEnergy;
88 
89  ClassDef(PndMvdQATask, 1);
90 };
91 
92 #endif
virtual void SetParContainers()
void PrintDartMeasurementStrip()
void SetPixelBoundaries()
void PrintDartMeasurementPixel()
void DrawPixelHistos()
virtual void FinishTask()
void CalculateDifference(PndSdsHit *hit)
void SetWorkdir(TString path)
Definition: PndMvdQATask.h:44
Class to access the naming information of the MVD.
virtual void Exec(Option_t *opt)
void SetStripBoundaries()
void DrawStripHistos()
virtual InitStatus Init()
bool TestStrip()
virtual ~PndMvdQATask()
bool TestPixel()
std::vector< Double_t > DoubleGaussFit(TH1 *)