#if !defined(__CINT__) || defined(__MAKECINT__) #include #include #include #include #include #include #include #endif TH1* PH(const TObject* object) { if (!object) return 0x0; if (object->IsA() != AliTRDtrackV1::Class()) return 0x0; const AliTRDtrackV1* track = dynamic_cast(object); if (!track) return 0x0; AliTRDcluster* cls = 0; AliTRDseedV1 *tracklet = 0x0; Int_t ntb = AliTRDcalibDB::Instance()->GetNumberOfTimeBins(); TProfile* ph = new TProfile("", "Average PH", ntb, -.5, ntb-.5); ph->GetXaxis()->SetTitle("drift time [1/100ns]"); ph->GetYaxis()->SetTitle(" [a.u.]"); for (Int_t ily = 0; ily < AliTRDgeometry::kNlayer; ily++) { if(!(tracklet = track->GetTracklet(ily))) continue; if(!tracklet->IsOK()) continue; for (Int_t icl = 0; icl < AliTRDseed::knTimebins; icl++) { if(!(cls = tracklet->GetClusters(icl))) continue; ph->Fill(cls->GetLocalTimeBin(), cls->GetQ()); } } return ph; }