]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/ITS/AliAnalysisTaskITSAlignQA.h
Fix (Ruben)
[u/mrichter/AliRoot.git] / PWG1 / ITS / AliAnalysisTaskITSAlignQA.h
index 4f69e6f47c5998b36fba4edc282fd81ca441a9a0..e2a97b2ecae891a076e986ab9b87fd28bf5f8c64 100644 (file)
@@ -15,6 +15,7 @@
 class TList;
 class TH1F;
 class TH2F;
+class TProfile;
 class TTree;
 class TString;
 class AliESDEvent;
@@ -27,7 +28,7 @@ class AliTrackPointArray;
 class AliAnalysisTaskITSAlignQA : public AliAnalysisTaskSE {
 
  public:
-  
+
   AliAnalysisTaskITSAlignQA();
   virtual ~AliAnalysisTaskITSAlignQA();
 
@@ -72,14 +73,18 @@ class AliAnalysisTaskITSAlignQA : public AliAnalysisTaskSE {
   void SetMinPt(Float_t minpt=1.0){
     fMinPt=minpt;
   }
+  void SetMinVtxContributors(Int_t n=5)     { fMinVtxContributors = n; }
+  void SetUseVertex(Bool_t v=kTRUE)         { fUseVertex = v; }
+  void SetUseVertexForZOnly(Bool_t v=kTRUE) { fUseVertexForZOnly = v; } // Use the vertex for SDD Z residuals only
+
   
   void     SetOCDBInfo(UInt_t runNb, const char *location) {
     fRunNb=runNb; 
     fOCDBLocation=location;
   }
 
-  Bool_t   AcceptTrack(AliESDtrack * track);
-
+  Bool_t   AcceptTrack(const AliESDtrack * track);
+  Bool_t   AcceptVertex(const AliESDVertex * vtx);
   void     CreateSPDHistos();
   void     CreateSDDHistos();
   void     CreateSSDHistos();
@@ -94,7 +99,8 @@ class AliAnalysisTaskITSAlignQA : public AliAnalysisTaskSE {
     for(Int_t iBin=0; iBin<=fNPtBins; iBin++) fPtBinLimits[iBin]=xbins[iBin];
   }
   void     LoadGeometryFromOCDB();
-
+  AliTrackPointArray* PrepareTrack(const AliTrackPointArray* inp, const AliESDVertex* vtx=0);
+  void                PrepareVertexConstraint(const AliESDVertex* vtx, AliTrackPoint &point);
  private:
   AliAnalysisTaskITSAlignQA(const AliAnalysisTaskITSAlignQA &source);
   AliAnalysisTaskITSAlignQA& operator=(const AliAnalysisTaskITSAlignQA &source);
@@ -103,6 +109,7 @@ class AliAnalysisTaskITSAlignQA : public AliAnalysisTaskSE {
   enum {kNSDDmods = 260};
   enum {kNSSDmods = 1698};
   enum {kMaxPtBins = 12};
+  enum {kVtxSensVID=14371};    // dummy VID for "vertex" point
 
   TList* fOutput;              //! Histos with residuals
   TH1F*  fHistNEvents;         //! histo with N of events  
@@ -110,8 +117,8 @@ class AliAnalysisTaskITSAlignQA : public AliAnalysisTaskSE {
 
   TH2F*  fHistSPDResidX[kNSPDmods];       //! histos of SPD residuals along Xloc vs. Pt
   TH2F*  fHistSPDResidZ[kNSPDmods];       //! histos of SPD residuals along Zloc vs. Pt
-  TH2F*  fHistSDDResidX[kNSSDmods];       //! histos of SDD residuals along Xloc vs. Pt
-  TH2F*  fHistSDDResidZ[kNSSDmods];       //! histos of SDD residuals along Zloc vs. Pt
+  TH2F*  fHistSDDResidX[kNSDDmods];       //! histos of SDD residuals along Xloc vs. Pt
+  TH2F*  fHistSDDResidZ[kNSDDmods];       //! histos of SDD residuals along Zloc vs. Pt
   TH2F*  fHistSSDResidX[kNSSDmods];       //! histos of SSD residuals along Xloc vs. Pt
   TH2F*  fHistSSDResidZ[kNSSDmods];       //! histos of SSD residuals along Zloc vs. Pt
 
@@ -123,14 +130,22 @@ class AliAnalysisTaskITSAlignQA : public AliAnalysisTaskSE {
   TH1F*  fHistSDDDrTimeAll[kNSDDmods];    //! histos of SDD drift time (all clusters)
   TH1F*  fHistSDDDrTimeExtra[kNSDDmods];  //! histos of SDD drift time (extra clusters)
   TH1F*  fHistSDDDrTimeAttac[kNSDDmods];  //! histos of SDD drift time (attached clusters)
-  
-
+  //
+  // RS
+  TProfile* fHProfSDDResidXvsXD[kNSDDmods][2]; // ! profile histos of SDD residuals along Xloc vs. Drift distance, each side separately
+  TProfile* fHProfSDDDrTimevsXD[kNSDDmods][2]; // ! profile histos of SDD drift time vs. Drift distance, each side separately
+  TProfile* fHProfSDDResidXvsZ[kNSDDmods][2];  // ! profile histos of SDD residuals along Xloc vs. Z (anode), each side separately
+  TProfile* fHProfSDDDrTimevsZ[kNSDDmods][2];  // ! profile histos of SDD drift time vs. Z (anode), each side separately
+  //
   Bool_t   fDoSPDResiduals;   // Flag to enable histos of SPD residuals
   Bool_t   fDoSDDResiduals;   // Flag to enable histos of SDD residuals
   Bool_t   fDoSSDResiduals;   // Flag to enable histos of SSD residuals
   Bool_t   fDoSDDdEdxCalib;   // Flag to enable histos for SDD dE/dx calibration
   Bool_t   fUseITSsaTracks;   // Flag for using standalone ITS tracks
   Bool_t   fLoadGeometry;     // Flag to control the loading of geometry from OCDB
+  Bool_t   fUseVertex;        // Use the vertex as an extra point
+  Bool_t   fUseVertexForZOnly; // Use the vertex for SDD Z residuals only
+  Int_t    fMinVtxContributors; // min N contributors to accept vertex if fUseVertex is on
   Int_t    fMinITSpts;        // Minimum number of ITS points per track
   Int_t    fMinTPCpts;        // Minimum number of TPC points per track
   Float_t  fMinPt;            // Minimum pt to accept tracks
@@ -141,8 +156,9 @@ class AliAnalysisTaskITSAlignQA : public AliAnalysisTaskSE {
   Int_t fRunNb;               // Run number
   TString fOCDBLocation;      // OCDB location
 
-  ClassDef(AliAnalysisTaskITSAlignQA,2);
+  ClassDef(AliAnalysisTaskITSAlignQA,3);
 };
 
 
 #endif
+