]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/QA/tasks/AliAnalysisTaskHLT.h
- fill more histograms to match the central barrel task output
[u/mrichter/AliRoot.git] / HLT / QA / tasks / AliAnalysisTaskHLT.h
index b5018ae0a6a59f20b17fdb62910b301f096d364c..e04b0dec2f5d762b76519112ca2791736735ca5f 100644 (file)
@@ -7,7 +7,6 @@
 #ifndef ALIANALYSISTASKHLT_H
 #define ALIANALYSISTASKHLT_H
 
-
 /** @file AliAnalysisTaskHLT.h
     @author Kalliopi Kanaki, Hege Erdal
     @date   
 class TH1F;
 class TH2F;
 class TList;
-//class AliESDEvent;
-//class AliESDtrack;
-//class AliESDRun;
-class TObjArray;
-
+class TText;
+class AliCentrality;
 #include "AliAnalysisTaskSE.h"
 
 class AliAnalysisTaskHLT : public AliAnalysisTaskSE {
  
   public: 
-
-
-  /*
-   * ---------------------------------------------------------------------------------
-   *                            Constructor / Destructor
-   * ---------------------------------------------------------------------------------
-   */
-
     AliAnalysisTaskHLT();
     AliAnalysisTaskHLT(const char *name);
     virtual ~AliAnalysisTaskHLT() {}
 
-  /*
-   * ---------------------------------------------------------------------------------
-   *                                    Methods
-   * ---------------------------------------------------------------------------------
-   */
-
     virtual void  UserCreateOutputObjects();
     virtual void  UserExec(Option_t *option);
     virtual void  Terminate(Option_t *);
-    virtual void  NotifyRun();
 
- private:
+    //Use only triggered events
+    void SetUseHLTTriggerDecision(Bool_t useHLT = kFALSE) { fUseHLTTrigger = useHLT; }
+    // function to set the beam type
+    void SetBeamType(TString beamType) { fBeamType = beamType; }    
+private:
 
     /** copy constructor */
     AliAnalysisTaskHLT(const AliAnalysisTaskHLT&); 
     /** assignment operator */
     AliAnalysisTaskHLT& operator=(const AliAnalysisTaskHLT&); 
 
+    //void SetupESDtrackCuts();  
 
-    /*
-     * ---------------------------------------------------------------------------------
-     *                            Setup Methods - private
-     * ---------------------------------------------------------------------------------
-     */
-    
-    void SetupESDtrackCuts();  
-
-
-  
-    /*
-     * ---------------------------------------------------------------------------------
-     *                             Members - private
-     * ---------------------------------------------------------------------------------
-     */
-
-
-    static const Int_t fNcontrArray[];   //! Array to hold the different number of contributors
-    static const Int_t fNcontr;          //! Array size
+    Bool_t fUseHLTTrigger;             // use HLT Trigger Decision
 
-    //----------------------------------------------------------------------------------
-
-
-
-    AliESDtrackCuts *fESDOfftrackCuts;   //! ESD cuts  
-    AliESDtrackCuts *fESDHLTtrackCuts;   //! ESD cuts - on HLT object 
+    //AliESDtrackCuts *fESDOfftrackCuts;   //! ESD cuts  
+    //AliESDtrackCuts *fESDHLTtrackCuts;   //! ESD cuts - on HLT object 
     
     TList *fOutputList; // list of output histograms
 
-    TH1F *fHistTrigger, *fHistHLTTrigger; //! trigger counters 
+    TH1F *fHistTrigger; //! trigger counters 
 
     TH1F  *fChargeOff;         //! Charge distribution      
     TH1F  *fMomentumOff;       //! momentum    
-    TH1F  *fMomentumOffTpc;         //! pseudorapidity for kTPCin
-    TH1F  *fMomentumOffTpcIts;      //! pseudorapidity for kTPCin && kITSin
     TH1F  *fDCArOff;           //! track DCAr to beam line      
     TH1F  *fDCAzOff;           //! track DCAz to beam line      
     TH1F  *fNclusterOff;       //! #clusters per track
+    TH1F  *fNITSclusterOff;    //! # ITS clusters per track
     TH1F  *fNclusterOffwCut;   //! #clusters per track w cuts
-    TH1F  *fdEdxOff;           //! TPC signal (offline)
-    TH2F  *fdEdxVSPOff;        //! dE/dx vs. momentum 
     TH1F  *fPhiOff;            //! azimuthal angle distribution
-    TH1F  *fThetaOff;          //! polar angle distribution
     TH1F  *fMultOff;           //! track multiplicity of the event
     TH2F  *fXYvertexOff;       //! XY primary vertex distribution
     TH1F  *fXvertexOff;        //! X primary vertex distribution
     TH1F  *fYvertexOff;        //! Y primary vertex distribution
     TH1F  *fZvertexOff;        //! Z primary vertex distribution
+    TH1F  *fSPDXvertexOff;     //! SPD X primary vertex distribution
+    TH1F  *fSPDYvertexOff;     //! SPD Y primary vertex distribution
+    TH1F  *fSPDZvertexOff;     //! SPD Z primary vertex distribution
     TH1F  *fEtaOff;            //! pseudorapidity
     TH1F  *fEtaMomentumcutOff;      //! pseudorapidity with DCA cut
     TH2F  *fNclusVSphiOff;     //! clusters per track vs. azimuthal angle 
     TH2F  *fNclusVSthetaOff;   //! clusters per track vs. polar angle 
-    TH1F  *fStatusOff;         //! Status counters 
-    TH1F  *fStatusOff_Ocl;     //! Status counters for TPCNcl=0
     TH1F  *fEventSpecieOff;    //! Event Specie Offline
+    TH1F  *fV0cent;            //! V0 centrality information
+    TH1F  *fNcontOff;          //! # of contributors to the vertex estimate
     
     TH1F  *fChargeHLT;         //! Charge distribution 
     TH1F  *fMomentumHLT;       //! momentum    
-    TH1F  *fMomentumHLTTpc;    //! pseudorapidity for kTPCin
-    TH1F  *fMomentumHLTTpcIts; //! pseudorapidity for kTPCin && kITSin
     TH1F  *fDCArHLT;          //! track DCAr to beam line       
     TH1F  *fDCAzHLT;          //! track DCAz to beam line       
     TH1F  *fNclusterHLT;       //! #clusters per track
+    TH1F  *fNITSclusterHLT;    //! # ITS clusters per track
     TH1F  *fNclusterHLTwCut;   //! #clusters per track with cuts
-    TH1F  *fdEdxHLT;          //! TPC signal (offline)
-    TH2F  *fdEdxVSPHLT;        //! dE/dx vs. momentum 
     TH1F  *fPhiHLT;           //! azimuthal angle distribution
-    TH1F  *fThetaHLT;          //! polar angle distribution
     TH1F  *fMultHLT;          //! track multiplicity of the event   
     TH2F  *fXYvertexHLT;       //! XY primary vertex distribution
     TH1F  *fXvertexHLT;        //! X primary vertex distribution
     TH1F  *fYvertexHLT;        //! Y primary vertex distribution
     TH1F  *fZvertexHLT;        //! Z primary vertex distribution
+    TH1F  *fSPDXvertexHLT;     //! SPD X primary vertex distribution
+    TH1F  *fSPDYvertexHLT;     //! SPD Y primary vertex distribution
+    TH1F  *fSPDZvertexHLT;     //! SPD Z primary vertex distribution
     TH1F  *fEtaHLT;           //! pseudorapidity
     TH1F  *fEtaMomentumcutHLT;      //! pseudorapidity with DCA cut
     TH2F  *fNclusVSphiHLT;     //! clusters per track vs. azimuthal angle 
     TH2F  *fNclusVSthetaHLT;   //! clusters per track vs. polar angle 
-    TH1F  *fStatusHLT;         //! Status counters 
-    TH1F  *fStatusHLT_Ocl;     //! Status counters for TPCNcl=0
     TH1F  *fEventSpecieHLT;    //! Event Specie HLT
-
-    
-    TObjArray *fTrgClsArray; //! array of trigger classes
-
-  
-//     TH1F *fDCAOff_trig;      //! track DCA to beam line for triggered events
-//     TH1F *fNclusterOff_trig; //! #clusters per track for triggered events
-//     
-//     TH1F *fDCAHLT_trig;     
-//     TH1F *fNclusterHLT_trig;
-   
+    TH1F  *fNcontHLT;          //! # of contributors to the vertex estimate
+        
+    TString fBeamType;         //! beam type: p-p, Pb-Pb, No beam
+    TText *fTextBox;           //! TText box containing run number info and date
+    Bool_t fSwitch;            //! boolean used to execute parts of the code in the UserExec only once, although
+                               // the function is called once per event
+    AliCentrality *fCentrality;  //! Centrality holder
    
-//     TH1F *fHistOfflTrkDCANoTrigNclsCut1; //! with cut on #clusters>=60
-//     TH1F *fHistOfflTrkDCANoTrigNclsCut2; //! with cut on #clusters<60
-//     
-//     TH1F *fHistOfflResPtInv; //! resolution on 1/pt for offline tracks
-//     TH1F *fHistOnlResPtInv; //! resoltion on 1/pt for online tracks
-// 
-//     TH1F *fHistOffldZ;  //! resolution on z 
-//     TH1F *fHistOnldZ;   //! resolution on z 
-// 
-//     TH1F *fHistOffldX; //! resolution on r 
-//     TH1F *fHistOnldX;  //! resolution on r 
-//     
-//     TH1F *fHistOfflPhi;  //! resolution on azimuthal angle 
-//     TH1F *fHistOnlPhi;  //! resolution on azimuthal angle 
-// 
-//     TH1F *fHistOfflTheta; //! resolution on polar angle 
-//     TH1F *fHistOnlTheta; //! resolution on polar angle 
-// 
-//     TH2F *fHistOnlDZ;  //! online trigger tracks distance to beam and Z to IP
-//     TH2F *fHistOfflDZ; //! offline tracks distance to beam and Z to IP
-//     TH2F *fHistOfflDZTrig; //!
-//     TH2F *fHistOfflDZNoTrig; //!
-
-
-//     static const Float_t fgkPhiMin[5];
-//     static const Float_t fgkPhiMax[5];
-//     static const Float_t fgkEtaMin;
-//     static const Float_t fgkEtaMax;
-//     static const Float_t fgkNormX[5];
-//     static const Float_t fgkNormY[5];
-//     static const Float_t fgkInitPosX[5];
-//     static const Float_t fgkInitPosY[5];
-
-    ClassDef(AliAnalysisTaskHLT, 2);
+    ClassDef(AliAnalysisTaskHLT, 0);
 };
 
 #endif