]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/AliAnalysisTaskQASym.h
fix warnings
[u/mrichter/AliRoot.git] / PWG1 / AliAnalysisTaskQASym.h
index d20b5b0f14f8f934c4478e9a61e420870a017b53..513bef86cc9f26f6f40bb171c43a6c54e31a9184 100644 (file)
@@ -1,12 +1,14 @@
-#ifndef AliAnalysisTaskQASym_cxx
-#define AliAnalysisTaskQASym_cxx
+// Analysis task for basic QA exploiting symmetries
+//of global, TPC, and ITS tracks
+
+#ifndef ALIANALYSISTASKQASYM_H
+#define ALIANALYSISTASKQASYM_H
  
 
 class TH1F;
 class TH2F;
 class TH3F;
 class TList;
-class TNtuple;
 
 class AliESDEvent;
 class AliESDtrack;
@@ -15,7 +17,6 @@ class AliESDtrackCuts;
 
 #include "AliAnalysisTaskSE.h"
 #include "TFile.h"
-#include "TNtuple.h"
 
 class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
  public:
@@ -25,8 +26,15 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
   virtual void   UserCreateOutputObjects();
   virtual void   UserExec(Option_t *option);
   virtual void   Terminate(Option_t *);
-  virtual void   SetTrackType(Int_t type) {fTrackType = type;}  
-  
+  virtual void   SetTrackType(Int_t type) {fTrackType = type;}  // set the track type: global, its and tpc
+  virtual void   SetStandAloneTrack(Bool_t standAlone = kFALSE) {fStandAlone = standAlone;}  //needed for ITS tracks
+
+  virtual void   SetNChargedRange(Int_t low = 0, Int_t high=1.0*1e7)//set multiplicity region of analysis
+                                                                    // in order to compare different trigger settings
+  {
+    fLow  = low;
+    fHigh = high;
+  } 
   
   virtual void   SetCuts(AliESDtrackCuts* cuts)
      {fCuts = cuts;}
@@ -36,20 +44,29 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
   
  private:
 
-  Int_t       fTrackType;
-  Bool_t      fFieldOn;
+  Int_t       fTrackType;       // track type
+  Bool_t      fStandAlone;      // needed for ITS tracks
+  Int_t       fLow;             // low Ncharges cut
+  Int_t       fHigh;            // high Ncharges cut
+  Bool_t      fFieldOn;         // field status
 
   TList       *fHists;          // List of histos
 
   //old
   TH1F        *fHistRECpt;      // pt 
   TH1F        *fEta;            // eta
+
+  TH1F        *fEtaWidth;       // eta of tracks in Nch range (fLow <= Ncharged <= fHigh)
+  TH1F        *fPhiWidth;       // phi of tracks in Nch range (fLow <= Ncharged <= fHigh)
+  TH1F        *fDcaWidth;       // dca of tracks in Nch range (fLow <= Ncharged <= fHigh)
+  TH1F        *fPtWidth;        // pt of tracks in Nch range (fLow <= Ncharged <= fHigh)
+
   TH2F        *fEtaPhi;         // eta-phi
   TH1F        *fEtaPt;          // eta over pt 
   TH1F        *fQPt;            // charge over pt 
   TH1F        *fDca;            // distance of closest approach
   TH1F        *fqRec;           // reconstrcuted charge
-  TH1F        *fsigmaPt;        // sigma_pT
+  TH1F        *fSigmaPtHist;    // sigma_pT
 
    //positive und negative tracks
   TH1F        *fRecPtPos;      // pt of pos tracks
@@ -80,7 +97,7 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
 
   // 2D: all measures as function of z of first trackpoint 
   TH2F        *fRecPtPosVz;     //pt-zfirst of pos tracks
-  TH2F        *fRecPtNegVz;      //pt-zfirst of neg tracks
+  TH2F        *fRecPtNegVz;     //pt-zfirst of neg tracks
   TH2F        *fRecEtaPosVz;    //eta-zfirst of pos tracks
   TH2F        *fRecEtaNegVz;    //eta-zfirst of neg tracks
   TH2F        *fRecPhiPosVz;    //phi-zfirst of pos tracks
@@ -102,10 +119,15 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
   TH1F * fPhiRec;              //phi
   TH1F * fThetaRec;            //theta
   TH1F * fNumber;              //Number of tracks per event
+  TH1F * fNumberAfterCut;      //Number of tracks per event after cuts
   TH1F * fVx;                  // x of first track point
   TH1F * fVy;                  // y of first track point
   TH1F * fVz;                  // z of first track point
-  TNtuple * test;
+  TH1F * fVertexX;             // x of vertex
+  TH1F * fVertexY;             // y of vertex
+  TH1F * fVertexZ;             // z of vertex
+  TH1F * fNVertexSPD;          //number of vertices SPD
+  TH1F * fNVertexTracks;       //number of vertices of Tracks
 
   //new
   TH2F        *fRecDcaPosPhi;     //dca-phi for pos.
@@ -138,22 +160,31 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
   TH2F        *fRecDcaPosPhiEtaNeg;  //dca-phi for pos tracks and neg eta
   TH2F        *fRecDcaNegPhiEtaNeg;  //dca-phi for neg tracks and neg eta
 
+  TH2F        *fRecDcaPosPtEtaPos;  //dca-pt for pos tracks and pos eta
+  TH2F        *fRecDcaNegPtEtaPos;  //dca-pt for neg tracks and pos eta
+  TH2F        *fRecDcaPosPtEtaNeg;  //dca-pt for pos tracks and neg eta
+  TH2F        *fRecDcaNegPtEtaNeg;  //dca-pt for neg tracks and neg eta
+
   TH2F        *fRecPtPosPhiEtaPos;  //pt-phi for pos tracks and pos eta
   TH2F        *fRecPtNegPhiEtaPos;  //pt-phi for neg tracks and pos eta 
   TH2F        *fRecPtPosPhiEtaNeg;  //pt-phi for pos tracks and neg eta
   TH2F        *fRecPtNegPhiEtaNeg;  //pt-phi for neg tracks and neg eta
 
+  //  TH3F        *fRecDcaPhiPtPosEtaPos; //dca-pt-phi for pos tracks and pos eta
+  //  TH3F        *fRecDcaPhiPtNegEtaPos; //dca-pt-phi for neg tracks and pos eta
+  //  TH3F        *fRecDcaPhiPtPosEtaNeg; //dca-pt-phi for pos tracks and neg eta
+  //  TH3F        *fRecDcaPhiPtNegEtaNeg; //dca-pt-phi for neg tracks and neg eta
+
+  TH2F        *fEtavPt;                 // eta vs pt 
+  TH2F        *fPhivPt;                 // phi vs pt 
 
-  TH3F        *fRecDcaPhiPtPosEtaPos; //dca-pt-phi for pos tracks and pos eta
-  TH3F        *fRecDcaPhiPtNegEtaPos; //dca-pt-phi for neg tracks and pos eta
-  TH3F        *fRecDcaPhiPtPosEtaNeg; //dca-pt-phi for pos tracks and neg eta
-  TH3F        *fRecDcaPhiPtNegEtaNeg; //dca-pt-phi for neg tracks and neg eta
+  TH2F        *fCompareTPCparam;        // TPC param
 
-  TH2F        *fEtavPt;
+  TH1F        *fITSlayer;               // ITS layer
+  TH2F        *fITSlayerEta;            // ITS layer vs eta
+  TH2F        *fITSlayerPhi;            // ITS layer vs phi
 
-  Double_t  sdca;
-  Float_t xy, z, xvertexcor, yvertexcor;
-  AliESDtrackCuts* fCuts;                      // List of cuts
+  AliESDtrackCuts* fCuts;               // List of cuts
 
   // sectors of TPC 
   TH1F        *fRecPtTpcSector[18];     //pt for TPC sectors
@@ -179,6 +210,11 @@ class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
   TH2F        *fDcaSigmaPos[7];     // dca - sigma_pT for pos tracks
   TH2F        *fDcaSigmaNeg[7];     // dca - sigma_pT for neg tracks
 
+  TH1F        *fEtaBinPt[3][2];      // eta histogram for different pt bins and different charges
+  TH1F        *fPhiBinPt[3][2];      // phi histogram for different pt bins and different charges
+  TH1F        *fDcaBinPt[3][2];      // dca histogram for different pt bins and different charges
+  TH2F        *fEtaPhiBinPt[3][2];   // eta-phi histogram for different pt bins and different charges
+