+// AliTRDonlineTrackletQA implements the standard QA for the TRD
+// on-line tracklets.
+
#ifndef ALITRDONLINETRACKLETQA_H
#define ALITRDONLINETRACKLETQA_H
#include "AliAnalysisTask.h"
+#include "AliTRDgeometry.h"
+#include "AliTRDpadPlane.h"
+#include "AliESDTrdTracklet.h"
+
class TList;
+class TH1F;
+class TH2F;
class AliInputEventHandler;
class AliVEvent;
+class AliESDEvent;
class AliAODEvent;
class AliMCEvent;
void LocalInit();
void Terminate(const Option_t *option);
- void PlotMC(AliTRDtrackletMCM *trkl);
- void PlotESD(AliTRDtrackletMCM *trkl);
+ void PlotMC(AliESDTrdTracklet *trkl);
+ void PlotESD(AliESDTrdTracklet *trkl);
- void PlotESD(AliTRDtrackletWord *trkl);
+ Int_t GetTrackletsForMC(Int_t label, Int_t idx[]) const;
- Int_t GetTrackletsForMC(Int_t label, Int_t idx[]);
+ Float_t GetX(AliESDTrdTracklet *trkl) { return fGeo->GetTime0(trkl->GetDetector() % 6); }
+ Float_t GetZ(AliESDTrdTracklet *trkl) { return fGeo->GetPadPlane((trkl->GetDetector() % 6) / 2, (trkl->GetDetector()/6) % 5)->GetRowPos(trkl->GetBinZ()) -
+ fGeo->GetPadPlane((trkl->GetDetector() % 6) / 2, (trkl->GetDetector()/6) % 5)->GetRowSize(trkl->GetBinZ()); }
protected:
AliESDEvent *fESD; //! current ESD event
TH2F *fHistdYdYref; //! dy vs. dy from track reference
TH1F *fHistYposRaw; //! trkl y-position within chamber
TH1F *fHistdYRaw; //! trkl dy
+ TH1F *fHistAlphaRaw; //! trkl alpha
TH2F *fHistYdYRaw; //! y vs dy from raw
TH1F *fHistZrow; //! z-row
TH1F *fHistZrowRaw; //! z-row
TH1F *fHistPid; //! PID
TH1F *fHistPidRaw; //! PID
+ TH1F *fHistPidDiff; //! PID
TH1F *fHistYdiff; //! difference in y between sim and raw
TH1F *fHistdYdiff; //! difference in dy between sim and raw
TH2F *fHistdYdYraw; //! dy sim vs. raw
+ TH1F *fHistFitYres; //! trkl y-residual to track fit through
+ // contributing tracklets
+ TH1F *fHistFitDyresEven; //! trkl deflection residual to track fit through
+ // contributing tracklets
+ TH1F *fHistFitDyresOdd; //! trkl deflection residual to track fit through
+ // contributing tracklets
+ TH2F *fHistNoMatchSim; //! simulated tracklets which were not matched to a raw one
+ TH2F *fHistNoMatchRaw; //! raw tracklets which were not matched to a simulated one
+
+ TH1F *fHistResY; //! residuals in y w.r.t. GTU track
+ TH1F *fHistResZ; //! residuals in z w.r.t. GTU track
TTree *fTreeTracklets; //! store tracklet information
// ----- temporary storage -----
Int_t fNevent; // current event number
TTree *fTrackletTree; //! tracklets from simulation
- TTree *fTrackletTreeRaw; //! tracklets from raw data
private:
AliTRDonlineTrackletQA(const AliTRDonlineTrackletQA&); // not implemented