New directory for the VMC tests (Ivana, Eva)
[u/mrichter/AliRoot.git] / TRD / qaRec / macros / EVE / PH.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include <TROOT.h>
3 #include <TProfile.h>
4
5 #include <TRD/AliTRDgeometry.h>
6 #include <TRD/AliTRDcalibDB.h>
7 #include <TRD/AliTRDcluster.h>
8 #include <TRD/AliTRDseedV1.h>
9 #include <TRD/AliTRDtrackV1.h>
10 #endif
11
12 TH1* PH(const AliTRDtrackV1* track)
13 {
14   if (!track)  return 0x0;
15   
16   AliTRDcluster* cls = 0;
17   AliTRDseedV1 *tracklet = 0x0;
18   
19   TProfile* ph = 0x0;
20   if(!(ph = (TProfile*)gROOT->FindObject("PH"))){
21     Int_t ntb = AliTRDcalibDB::Instance()->GetNumberOfTimeBins();
22     ph = new TProfile("PH", "Average PH", ntb, -.5, ntb-.5);
23     ph->GetXaxis()->SetTitle("drift time [1/100ns]");
24     ph->GetYaxis()->SetTitle("<PH> [a.u.]");
25   } else ph->Reset();
26
27
28   for (Int_t ily = 0; ily < AliTRDgeometry::kNlayer; ily++) {
29     if(!(tracklet = track->GetTracklet(ily))) continue;
30     if(!tracklet->IsOK()) continue;
31     
32     for (Int_t icl = 0; icl < AliTRDseed::knTimebins; icl++) {
33       if(!(cls = tracklet->GetClusters(icl))) continue;
34             
35             ph->Fill(cls->GetLocalTimeBin(), cls->GetQ());
36           }
37   }
38
39   return ph;
40 }
41