]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/CaloCalib/AliAnalysisTaskCaloFilter.h
bad Coverity fix fixed
[u/mrichter/AliRoot.git] / PWG4 / CaloCalib / AliAnalysisTaskCaloFilter.h
index ec8ce73f742eedeef427ef6dcc17389fbc1cd41b..4be3ebff2dc20a3b10f346f289731a9fd98a5ed6 100644 (file)
@@ -22,7 +22,8 @@ class TList;
 class AliEMCALRecoUtils;
 class AliEMCALGeometry;
 class AliESDtrackCuts;
-
+class AliTriggerAnalysis;
+class TNtuple;
 class AliAnalysisTaskCaloFilter : public AliAnalysisTaskSE
 {
  public:
@@ -35,48 +36,73 @@ private:
   AliAnalysisTaskCaloFilter& operator=(const AliAnalysisTaskCaloFilter&);
   
 public:
+  //General analysis frame methods
   virtual void   UserCreateOutputObjects();
-  //virtual void   Init();
-  //virtual void   LocalInit() ;
+  virtual void   Init();
+  virtual void   LocalInit() { Init() ; }
   virtual void   UserExec(Option_t *option);
   virtual void   Terminate(Option_t *option);
+      
+  //Geometry methods
+  void SetEMCALGeometryName(TString name)                  { fEMCALGeoName = name        ; }
+  TString EMCALGeometryName()                       const  { return fEMCALGeoName        ; }
+  void SwitchOnLoadOwnEMCALGeometryMatrices()              { fLoadEMCALMatrices = kTRUE  ; }
+  void SwitchOffLoadOwnEMCALGeometryMatrices()             { fLoadEMCALMatrices = kFALSE ; }
+  void SetEMCALGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fEMCALMatrix[i]    = m      ; }
+  //void SwitchOnLoadOwnPHOSGeometryMatrices()               { fLoadPHOSMatrices = kTRUE  ; }
+  //void SwitchOffLoadOwnPHOSGeometryMatrices()              { fLoadPHOSMatrices = kFALSE ; }
+  //void SetPHOSGeometryMatrixInSM(TGeoHMatrix* m, Int_t i)  { fPHOSMatrix[i]    = m      ; }
   
-  enum caloFilter {kBoth = 0, kEMCAL = 1, kPHOS=2};
-  void SetCaloFilter(Int_t calo) {fCaloFilter = calo;}
-  TString GetCaloFilter() const  {return fCaloFilter;}
-
-  void SetGeometryName(TString name) { fEMCALGeoName = name ; }
-  TString GeometryName() const       { return fEMCALGeoName ; }
+  //Task settings
+  void    FillAODFile(Bool_t yesno)               { fFillAODFile = yesno    ; }
+  enum    caloFilter {kBoth = 0, kEMCAL = 1, kPHOS=2};
+  void    SetCaloFilter(Int_t calo)               { fCaloFilter = calo      ; }
+  TString GetCaloFilter()                  const  { return fCaloFilter      ; }  
   
-  void SetEMCALRecoUtils(AliEMCALRecoUtils * ru) {fEMCALRecoUtils = ru;}
-  AliEMCALRecoUtils* GetEMCALRecoUtils() const   {return fEMCALRecoUtils;}
-
-  void SwitchOnClusterCorrection()  {fCorrect = kTRUE ;}
-  void SwitchOffClusterCorrection() {fCorrect = kFALSE;}
+  void SetEMCALRecoUtils(AliEMCALRecoUtils * ru)  { fEMCALRecoUtils = ru    ; }
+  AliEMCALRecoUtils* GetEMCALRecoUtils()   const  { return fEMCALRecoUtils  ; }
 
+  void    SwitchOnClusterCorrection()             { fCorrect = kTRUE        ; }
+  void    SwitchOffClusterCorrection()            { fCorrect = kFALSE       ; }
+  
+  //Event selection
   AliESDtrackCuts* GetTrackCuts()          const  { return fESDtrackCuts    ; }
   void    SetTrackCuts(AliESDtrackCuts * cuts)    { fESDtrackCuts = cuts    ; }                  
   Float_t GetTrackMultiplicityEtaCut()     const  { return fTrackMultEtaCut ; }
   void    SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut = eta  ; }                
+  virtual Bool_t CheckForPrimaryVertex();
+
+  void    PrintInfo();
   
-  
-  void PrintInfo();
+  void    SetConfigFileName(TString name)         { fConfigName = name      ; }
   
 private:
   
   //TList* fCuts ;      //! List with analysis cuts
-  Int_t  fCaloFilter; // Calorimeter to filter
-  Int_t  fCorrect;    // Recalibrate or recalculate different cluster parameters
+  Int_t               fCaloFilter;        // Calorimeter to filter
+  Int_t               fCorrect;           // Recalibrate or recalculate different cluster parameters
   //EMCAL specific
-  AliEMCALGeometry  * fEMCALGeo;       //! EMCAL geometry
-  TString             fEMCALGeoName;   // Name of geometry to use.
-  AliEMCALRecoUtils * fEMCALRecoUtils; // Pointer to EMCAL utilities for clusterization
+  AliEMCALGeometry  * fEMCALGeo;          //! EMCAL geometry
+  TString             fEMCALGeoName;      // Name of geometry to use.
+  AliEMCALRecoUtils * fEMCALRecoUtils;    // Pointer to EMCAL utilities for clusterization
+
+  AliESDtrackCuts   * fESDtrackCuts;      // Track cut  
+  AliTriggerAnalysis* fTriggerAnalysis;   // Access to trigger selection algorithm for V0AND calculation
+  Float_t             fTrackMultEtaCut;   // Track multiplicity eta cut
+  
+  //Geometry
+  Bool_t              fLoadEMCALMatrices; // Matrices set from configuration, not get from geometry.root or from ESDs/AODs
+  TGeoHMatrix       * fEMCALMatrix[10];   // Geometry matrices with alignments
+  //Bool_t            fLoadPHOSMatrices;  // Matrices set from configuration, not get from geometry.root or from ESDs/AODs
+  //TGeoHMatrix *     fPHOSMatrix[5];     // Geometry matrices with alignments
+  Bool_t              fGeoMatrixSet;      // Set geometry matrices only once, for the first event.   
 
-  AliESDtrackCuts *fESDtrackCuts       ; // Track cut  
-  Float_t          fTrackMultEtaCut    ; // Track multiplicity eta cut
+  TNtuple           * fEventNtuple;       // NTuple with event parameters 
   
+  TString             fConfigName;        // Name of analysis configuration file
+  Bool_t              fFillAODFile;       // Fill the output AOD file with clusters 
   
-  ClassDef(AliAnalysisTaskCaloFilter, 3); // Analysis task for standard ESD filtering
+  ClassDef(AliAnalysisTaskCaloFilter, 6); // Analysis task for standard ESD filtering
 };
 
 #endif