FairRoot/PandaRoot
DrawHits.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- DrawHits header file -----
3 // ----- Created 19/10/09 by Dipanwita Dutta -----
4 // ----- -----
5 // ----- -----
6 // -------------------------------------------------------------------------
7 
17 #ifndef PNDDRCHITANA_H
18 #define PNDDRCHITANA_H
19 
20 #include "FairTask.h"
21 #include "TClonesArray.h"
22 #include "PndMCTrack.h"
23 #include "PndDrcHit.h"
24 #include "PndDrcPDHit.h"
25 #include "PndStack.h"
26 #include "FairBaseParSet.h"
27 #include "PndGeoDrcPar.h"
28 #include "TString.h"
29 #include <string>
30 
31 #include "TH1.h"
32 #include "TH2.h"
33 #include "TTree.h"
34 #include "TGraph2D.h"
35 
36 #include "TColor.h"
37 #include "TStyle.h"
38 
39 #ifndef ROOT_TParticlePDG
40 #include "TParticlePDG.h"
41 #endif
42 #ifndef ROOT_TDatabasePDG
43 #include "TDatabasePDG.h"
44 #endif
45 
46 
47 class DrawHits : public FairTask {
48 
49 public:
50 
52  DrawHits();
53 
55  DrawHits(Int_t verbose);
56 
58  virtual ~DrawHits();
59 
60  virtual InitStatus Init();
61 
63  virtual void Exec(Option_t* option);
64 
66  virtual void Finish();
67 
69  void RotBarCoordinate(TVector3& vector, Int_t barID);
70 
71  void SetTreeName(TString str){fTreeName = str;}
72 
73  protected:
74 
75  private:
76  void ProcessPhotonHit();
77  void ProcessPhotonMC();
78  void WriteToFile();
79  void CreateHisto();
80  void DrawHisto();
81  void ProcessBarHit();
82 
83 
84  Int_t fDetectorID;
87  Int_t fRefIndex;
88 
89  TClonesArray* fBarPointArray; // DRC MC points in the bars
90  TClonesArray* fPDPointArray; // DRC points in the photon detector
91  TClonesArray* fHitArray; // DRC Hits in the bars
92  TClonesArray* fPDHitArray; // DRC Hits in the photon detector
93  TClonesArray* fMCArray; // DRC Hits in the photon detector
94  TList* fHistoList;
95 
97 
99 
101  void SetDefaultParameters();
102 
104  Int_t fVerbose;
105 
106  /* nice plits*/
108  {
109  const Int_t NRGBs = 5;
110  const Int_t NCont = 255;
111 
112  Double_t stops[NRGBs] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
113  Double_t red[NRGBs] = { 0.00, 0.00, 0.87, 1.00, 0.51 };
114  Double_t green[NRGBs] = { 0.00, 0.81, 1.00, 0.20, 0.00 };
115  Double_t blue[NRGBs] = { 0.51, 1.00, 0.12, 0.00, 0.00 };
116  TColor::CreateGradientColorTable(NRGBs, stops, red, green, blue, NCont);
117  gStyle->SetNumberContours(NCont);
118  }
119 
121 
122  Int_t nevents;
123 
124  /* tree and its variables */
131  Float_t xhit;
132  Float_t yhit;
148 
150  TVector3 fStartVertex;
156  TVector3 fPphoB;
160 
162  TTree* phoTree;
163  std::vector<TH1F*> histos;
164  TH1F* currh;
165  TGraph2D* map;
166  TGraph2D* pop;
167  TVector3 fPMo;
168 
169  TH1D* fhThetaC;
171  TH2D* fhMomAng;
176 
177  TH1F* fhPhoTheta;
178  TH2F* fhPDPlane;
179  TH1D* fhCHrealMC;
180  TH1D* fhCHreal;
181  TH2D* fhCHlam;
182  TH2D* fhCHlamMC;
183  TH2D* fhCHlamE;
184 
185 
186  TH2F* fhHitsD;
187 
188  TH1D* fhLambda;
189  TH2D* fhXYPDHit;
190  TH1D* fhLambdaMC;
191  TH2D* fhXYPDMCPt;
192  TH1D* fhPDTime;
193 
194  TH2D* fhXYPDHitKp;
195  TH2D* fhXYPDHitKn;
198  TH2D* fhXYPDHitmp;
199  TH2D* fhXYPDHitmn;
200 
207 ClassDef(DrawHits,1)
208 
209 };
210 
211 #endif
TH2D * fhMomAng
Definition: DrawHits.h:171
TH2D * fhXYPDMCPtKp
Definition: DrawHits.h:201
void SetPlotStyle()
Definition: DrawHits.h:107
TH2D * fhCHlam
Definition: DrawHits.h:181
TH2D * fhXYPDMCPt
Definition: DrawHits.h:191
void SetDefaultParameters()
void WriteToFile()
Definition: DrawHits.cxx:450
TString fTreeName
Definition: DrawHits.h:161
Double_t pymc
Definition: DrawHits.h:129
Double_t pxPho
Definition: DrawHits.h:141
TClonesArray * fBarPointArray
Definition: DrawHits.h:89
virtual InitStatus Init()
Definition: DrawHits.cxx:70
TH2D * fhXYPDMCPtmn
Definition: DrawHits.h:206
Int_t fDetectorID
Definition: DrawHits.h:84
TH2D * fhThetaCMomE
Definition: DrawHits.h:175
Double_t fkyBar
Definition: DrawHits.h:158
Double_t zhit
Definition: DrawHits.h:133
TClonesArray * fMCArray
Definition: DrawHits.h:93
TVector3 fPphoB
Definition: DrawHits.h:156
TVector3 fPMo
Definition: DrawHits.h:167
TClonesArray * fHitArray
Definition: DrawHits.h:91
TH1D * fhLambdaMC
Definition: DrawHits.h:190
Double_t pxmc
Definition: DrawHits.h:128
TH2D * fhThetaCMomM
Definition: DrawHits.h:174
TGraph2D * pop
Definition: DrawHits.h:166
Double_t fThetaC
Definition: DrawHits.h:86
#define verbose
TH2D * fhXYPDHitKn
Definition: DrawHits.h:195
TH1D * fhCHrealMC
Definition: DrawHits.h:179
TH2F * fhHitsD
Definition: DrawHits.h:186
Double_t fErrThetaC
Definition: DrawHits.h:86
TH2F * fhPDPlane
Definition: DrawHits.h:178
TH2D * fhXYPDHitmn
Definition: DrawHits.h:199
TH2D * fhXYPDHitmp
Definition: DrawHits.h:198
void DrawHisto()
Definition: DrawHits.cxx:465
TH2D * fhXYPDHitpin
Definition: DrawHits.h:197
TH2D * fhCHlamMC
Definition: DrawHits.h:182
Double_t xEnt
Definition: DrawHits.h:144
void ProcessBarHit()
Definition: DrawHits.cxx:137
Int_t nevents
Definition: DrawHits.h:122
virtual void Finish()
Definition: DrawHits.cxx:457
Double_t pyMo
Definition: DrawHits.h:139
TClonesArray * fPDHitArray
Definition: DrawHits.h:92
void RotBarCoordinate(TVector3 &vector, Int_t barID)
TH2D * fhXYPDMCPtpip
Definition: DrawHits.h:203
Double_t lam
Definition: DrawHits.h:147
TH1F * currh
Definition: DrawHits.h:164
std::vector< TH1F * > histos
Definition: DrawHits.h:163
Double_t xmcp
Definition: DrawHits.h:125
Double_t zbar
Definition: DrawHits.h:137
Double_t fPx
Definition: DrawHits.h:151
TTree * phoTree
Definition: DrawHits.h:162
TH2D * fhXYPDMCPtmp
Definition: DrawHits.h:205
Double_t pyPho
Definition: DrawHits.h:142
Double_t ybar
Definition: DrawHits.h:136
TH2D * fhXYPDMCPtpin
Definition: DrawHits.h:204
TH2D * fhThetaCMomK
Definition: DrawHits.h:172
virtual ~DrawHits()
Definition: DrawHits.cxx:63
TH2D * fhXYPDHit
Definition: DrawHits.h:189
Double_t
Double_t thit
Definition: DrawHits.h:134
TH2D * fhCHlamE
Definition: DrawHits.h:183
DrawHits()
Definition: DrawHits.cxx:48
Double_t fMass
Definition: DrawHits.h:85
TH2D * fhXYPDMCPtKn
Definition: DrawHits.h:202
TH1D * fhCHreal
Definition: DrawHits.h:180
Double_t fPhiRot
Definition: DrawHits.h:149
Double_t pzMo
Definition: DrawHits.h:140
Double_t fPy
Definition: DrawHits.h:152
TGraph2D * map
Definition: DrawHits.h:165
Double_t fYcross
Definition: DrawHits.h:155
TH1F * fhPhoTheta
Definition: DrawHits.h:177
void SetTreeName(TString str)
Definition: DrawHits.h:71
TH1D * fhLambda
Definition: DrawHits.h:188
Double_t zmcp
Definition: DrawHits.h:127
Int_t fRefIndex
Definition: DrawHits.h:87
PndGeoDrc * fGeo
Basic geometry data of barrel DRC.
Definition: DrawHits.h:98
Double_t fkzBar
Definition: DrawHits.h:159
Int_t fVerbose
Definition: DrawHits.h:104
Bool_t InsideBar(Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t)
TH2D * fhXYPDHitpip
Definition: DrawHits.h:196
void CreateHisto()
Definition: DrawHits.cxx:358
virtual void Exec(Option_t *option)
Definition: DrawHits.cxx:124
Double_t pzmc
Definition: DrawHits.h:130
Double_t fXcross
Definition: DrawHits.h:154
TClonesArray * fPDPointArray
Definition: DrawHits.h:90
void ProcessPhotonMC()
Definition: DrawHits.cxx:203
Double_t xbar
Definition: DrawHits.h:135
TH2D * fhXYPDHitKp
Definition: DrawHits.h:194
Float_t xhit
Definition: DrawHits.h:131
TVector3 fStartVertex
Definition: DrawHits.h:150
TList * fHistoList
Definition: DrawHits.h:94
TH1D * fhThetaC
Definition: DrawHits.h:169
TH2D * fhThetaCMass
Definition: DrawHits.h:170
Double_t ymcp
Definition: DrawHits.h:126
TH2D * fhThetaCMomP
Definition: DrawHits.h:173
Float_t yhit
Definition: DrawHits.h:132
void ProcessPhotonHit()
Definition: DrawHits.cxx:257
Double_t pxMo
Definition: DrawHits.h:138
Double_t zEnt
Definition: DrawHits.h:146
Double_t pzPho
Definition: DrawHits.h:143
Double_t yEnt
Definition: DrawHits.h:145
PndGeoDrcPar * fPar
Definition: DrawHits.h:96
Double_t fPz
Definition: DrawHits.h:153
TH1D * fhPDTime
Definition: DrawHits.h:192
Double_t fkxBar
Definition: DrawHits.h:157