StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StETofQAMaker.h
1 /***************************************************************************
2  *
3  * $Id: StETofQAMaker.h,v 1.1 2018/07/25 14:38:06 jeromel Exp $
4  *
5  * Author: Philipp Weidenkaff & Pengfei Lyu, May 2018
6  ***************************************************************************
7  *
8  * Description: StETofQAMaker - class to read the eTofCollection from
9  * StEvent build QA histograms.
10  *
11  ***************************************************************************
12  *
13  * $Log: StETofQAMaker.h,v $
14  * Revision 1.1 2018/07/25 14:38:06 jeromel
15  * Peer reviewed Raghav+Jerome - code from Florian Seck
16  *
17  *
18  ***************************************************************************/
19 #ifndef STETOFQAMAKER_H
20 #define STETOFQAMAKER_H
21 
22 #include <string>
23 
24 #include "StMaker.h"
25 
26 class TH2;
27 
28 class StEvent;
29 class StETofCollection;
30 class StETofDigi;
31 class StETofHit;
32 class StBTofCollection;
33 
34 
35 class StETofQAMaker: public StMaker {
36 public:
38  StETofQAMaker( const char* name = "etofQa" );
39 
40  ~StETofQAMaker();
41 
42  Int_t Init();
43  Int_t InitRun( Int_t );
44  Int_t FinishRun( Int_t );
45  Int_t Finish();
46  Int_t Make();
47 
50 
51  void calcTStart();
52 
53  // virtual const char *GetCVS() const
54  // {static const char cvs[]="Tag $Name: $ $Id: StETofQAMaker.h,v 1.1 2018/07/25 14:38:06 jeromel Exp $ built "__DATE__" " __TIME__ ; return cvs;}
55 
56 private:
57  // internal subfunctions----------------------------------------------------------------------------------------------------
58 
59  void createHistos();
60  void fillHistos();
61  void writeHistos();
62 
63  StEvent* mEvent;
64  StETofCollection* mETofCollection;
65  StBTofCollection* mBTofCollection;
66 
67  double mTStart;
68 
69  std::string mOutHistFileName; // name of output histogram root file
70 
71  double mTimeOffset; // temporary offset for time of flight
72 
73 
74  std::vector< std::vector< std::vector< std::vector< std::vector< StETofDigi* > > > > > mStorStDigi; //[mSector][mZPlane][mDet][mStrip][nDigis]
75 
76  // store hit ordered by detector.
77  std::vector< std::vector< std::vector< std::vector< StETofHit* > > > > mStorStHit; //[mSector][mZPlane][mDet][nDigis]
78 
79  // Histograms----------------------------------------------------------------------------------------------------
80 
81  std::vector< std::vector< std::vector< TH2* > > > mHistRpcCluSize; //[mSector][mZPlane][mDet]
82  std::vector< std::vector< std::vector< TH2* > > > mHistRpcCluPosition; //[mSector][mZPlane][mDet]
83  std::vector< std::vector< std::vector< TH2* > > > mHistRpcCluTOff; //[mSector][mZPlane][mDet]
84  std::vector< std::vector< std::vector< TH2* > > > mHistRpcCluTot; //[mSector][mZPlane][mDet]
85  std::vector< std::vector< std::vector< TH2* > > > mHistRpcDigiTot; //[mSector][mZPlane][mDet]
86  std::vector< std::vector< std::vector< TH2* > > > mHistRpcCluAvWalk; //[mSector][mZPlane][mDet]
87  std::vector< std::vector< std::vector< TH1* > > > mHistRpcCluMul; //[mSector][mZPlane][mDet]
88  std::vector< std::vector< std::vector< TH1* > > > mHistHitTrigTimeDet; //[mSector][mZPlane][mDet]
89 
90  TH1* mHistBTofAvTimeDiff;
91 
92  TH1* mHistHitTrigTimeDiff;
93  TH1* mHistDigiTrigTimeDiff;
94  TH1* mHistDigiRawTrigTimeDiff;
95  TH2* mHistBTofETofMul;
96  TH2* mHistBTofAvTimeDiffvETofMul;
97  TH2* mHistBTofAvTimeDiffvBTofMul;
98 
99  TH1* mHistETofTimeOfFlight;
100  TH1* mHistBTofTimeOfFlight;
101 
102  ClassDef( StETofQAMaker, 1 )
103 };
104 
105 #endif
StETofQAMaker(const char *name="etofQa")
Default constructor.
StBTofCollection * GetBTofCollection()
StETofCollection * GetETofCollection()