]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGPP/TRD/AliTRDonlineTrackletQA.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / TRD / AliTRDonlineTrackletQA.h
index 76e400d146d52c23b866196fb36792b7f91acee6..0a6884561e8ff6e328a835e2b69cc9c01c79f919 100644 (file)
@@ -1,12 +1,22 @@
+// 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;
 
@@ -27,12 +37,14 @@ class AliTRDonlineTrackletQA : public AliAnalysisTask
   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
@@ -61,14 +73,27 @@ class AliTRDonlineTrackletQA : public AliAnalysisTask
   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 -----
@@ -90,7 +115,6 @@ class AliTRDonlineTrackletQA : public AliAnalysisTask
   Int_t fNevent;             // current event number
 
   TTree *fTrackletTree;  //! tracklets from simulation
-  TTree *fTrackletTreeRaw; //! tracklets from raw data
 
  private:
   AliTRDonlineTrackletQA(const AliTRDonlineTrackletQA&); // not implemented