coverity fix
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisEtCuts.h
index e8385db..bb00ebf 100644 (file)
-#ifndef ALIANALYSISETCOMMONCUTS_H
-#define ALIANALYSISETCOMMONCUTS_H
+#ifndef ALIANALYSISETCUTS_H
+#define ALIANALYSISETCUTS_H
+//_________________________________________________________________________
+//  Utility Class for transverse energy studies
+//  Base class for ESD & MC analysis
+//  - cuts for reconstruction and MonteCarlo 
+//  
+//*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
+//_________________________________________________________________________
 
-#include "Rtypes.h"
+#include "TNamed.h"
 
-namespace EtCommonCuts
+class AliAnalysisEtCuts : public TNamed
 {
+ public:
    
-   const Double_t kEtaCut = 0.8;
-   const Double_t kClusterEnergyCut = 0.0;
-   const Double_t kTrackPtCut = 0.0;
-   
-   const Int_t kSingleCell = 1;
-   
-};
+  AliAnalysisEtCuts();
+  virtual ~AliAnalysisEtCuts();
 
-namespace EtGeometryCutsPhos
-{
-   const Double_t kEtaAccCut = 0.12;
-   const Double_t kPhiAccMinCut = 260.0;
-   const Double_t kPhiAccMaxCut = 320.0;
-   const Double_t kDetectorRadius = 460.0;
-};
+  virtual void SetPbPbDefaults();
 
-namespace EtGeometryCutsEmcal
-{
-   const Double_t kEtaAccCut = 0.7;
-   const Double_t kPhiAccMinCut = 80.0; // rad 1.4
-   const Double_t kPhiAccMaxCut = 120.0; // rad 2.1
-   const Double_t kDetectorRadius = 440.0;
-};
+  // Getters
+  // Common
+  Double_t GetCommonEtaCut() const { return fCommonEtaCut; }
+  Double_t GetCommonClusterEnergyCut() const { return fCommonClusterEnergyCut; }
+  Double_t GetCommonTrackPtCut() const { return fCommonTrackPtCut; }
+  Int_t GetCommonSingleCell() const { return fCommonSingleCell; }
 
-namespace EtReconstructedCuts
-{
-   const Double_t kVertexXCut = 0.5;
-   const Double_t kVertexYCut = 0.5;
-   const Double_t kVertexZCut = 12.0;
-   const Double_t kIPxyCut = 1.5;
-   const Double_t kIPzCut = 1.5;
-   
-   const Int_t kNTpcClustersCut = 30;
-   const Int_t knItsClustersCut = 3;
-   
-};
+  // GeometryPhos
+  Double_t GetGeometryPhosEtaAccCut() const { return fGeometryPhosEtaAccCut; }
+  Double_t GetGeometryPhosPhiAccMinCut() const { return fGeometryPhosPhiAccMinCut; }
+  Double_t GetGeometryPhosPhiAccMaxCut() const { return fGeometryPhosPhiAccMaxCut; }
+  Double_t GetGeometryPhosDetectorRadius() const { return fGeometryPhosDetectorRadius; }
+  // GeometryEmcal
+  Double_t GetGeometryEmcalEtaAccCut() const { return fGeometryEmcalEtaAccCut; }
+  Double_t GetGeometryEmcalPhiAccMinCut() const { return fGeometryEmcalPhiAccMinCut; }
+  Double_t GetGeometryEmcalPhiAccMaxCut() const { return fGeometryEmcalPhiAccMaxCut; }
+  Double_t GetGeometryEmcalDetectorRadius() const { return fGeometryEmcalDetectorRadius; }
+  // Reconstructed
+  Double_t GetReconstructedVertexXCut() const { return fReconstructedVertexXCut; }
+  Double_t GetReconstructedVertexYCut() const { return fReconstructedVertexYCut; }
+  Double_t GetReconstructedVertexZCut() const { return fReconstructedVertexZCut; }
+  Double_t GetReconstructedIPxyCut() const { return fReconstructedIPxyCut; }
+  Double_t GetReconstructedIPzCut() const { return fReconstructedIPzCut; }
+  Int_t GetReconstructedNTpcClustersCut() const { return fReconstructedNTpcClustersCut; }
+  Int_t GetReconstructedNItsClustersCut() const { return fReconstructedNItsClustersCut; }
+  Double_t GetReconstructedPidCut() const { return fReconstructedPidCut; }
+  // ReconstructedPhos
+  Char_t GetReconstructedPhosClusterType() const { return fReconstructedPhosClusterType; }
+  Double_t GetReconstructedPhosClusterEnergyCut() const { return fReconstructedPhosClusterEnergyCut; }
+  Double_t GetReconstructedPhosSingleCellEnergyCut() const { return fReconstructedPhosSingleCellEnergyCut; }
+  Double_t GetPhosTrackDistanceCut() const { return fPhosTrackDistanceCut; }
+  Double_t GetPhosTrackDxCut() const { return fPhosTrackDxCut; }
+  Double_t GetPhosTrackDzCut() const { return fPhosTrackDzCut; }
+  // ReconstructedEmcal
+  Char_t GetReconstructedEmcalClusterType() const { return fReconstructedEmcalClusterType; }
+  Double_t GetReconstructedEmcalClusterEnergyCut() const { return fReconstructedEmcalClusterEnergyCut; }
+  Double_t GetReconstructedEmcalSingleCellEnergyCut() const { return fReconstructedEmcalSingleCellEnergyCut; }
+  Double_t GetEmcalTrackDistanceCut() const { return fEmcalTrackDistanceCut; }
+  Double_t GetEmcalTrackDxCut() const { return fEmcalTrackDxCut; }
+  Double_t GetEmcalTrackDzCut() const { return fEmcalTrackDzCut; }
+  
+  // MonteCarlo
+  Double_t GetMonteCarloSingleChargedParticle() const { return fMonteCarloSingleChargedParticle; }
+  Double_t GetMonteCarloNeutralParticle() const { return fMonteCarloNeutralParticle; }
+  // Hist: TTree and histogram info
+  Bool_t GetHistMakeTree() const { return fHistMakeTree; }
+  Bool_t GetHistMakeTreeDeposit() const { return fHistMakeTreeDeposit; }
+  //
+  Int_t GetHistNbinsMult() const { return fHistNbinsMult; }
+  Double_t GetHistMinMult() const { return fHistMinMult; }
+  Double_t GetHistMaxMult() const { return fHistMaxMult; }
+  //
+  Int_t GetHistNbinsTotEt() const { return fHistNbinsTotEt; }
+  Double_t GetHistMinTotEt() const { return fHistMinTotEt; }
+  Double_t GetHistMaxTotEt() const { return fHistMaxTotEt; }
+  //
+  Int_t GetHistNbinsParticleEt() const { return fHistNbinsParticleEt; }
+  Double_t GetHistMinParticleEt() const { return fHistMinParticleEt; }
+  Double_t GetHistMaxParticleEt() const { return fHistMaxParticleEt; }
+  //
+  Int_t GetHistNbinsParticlePt() const { return fHistNbinsParticlePt; }
+  Double_t GetHistMinParticlePt() const { return fHistMinParticlePt; }
+  Double_t GetHistMaxParticlePt() const { return fHistMaxParticlePt; }
+  
+  Short_t GetDetectorPhos() const { return fgkDetectorPhos; }
+  Short_t GetDetectorEmcal() const { return fgkDetectorEmcal; }
 
-namespace EtReconstructedCutsPhos
-{
-   const Char_t kClusterType = -1;
-   
-   const Double_t kClusterEnergyCut = 0.0;
-   const Double_t kSingleCellEnergyCut = 0.5;
-   
-   const Double_t kTrackDistanceCut = 15.0;
-   
-};
+  // Setters
+  // Common
+  void SetCommonEtaCut(const Double_t val) { fCommonEtaCut = val; }
+  void SetCommonClusterEnergyCut(const Double_t val) { fCommonClusterEnergyCut = val; }
+  void SetCommonTrackPtCut(const Double_t val) { fCommonTrackPtCut = val; }
+  void SetCommonSingleCell(const Int_t val) { fCommonSingleCell = val;}
+  // GeometryPhos
+  void SetGeometryPhosEtaAccCut(const Double_t val) { fGeometryPhosEtaAccCut = val; }
+  void SetGeometryPhosPhiAccMinCut(const Double_t val) { fGeometryPhosPhiAccMinCut = val; }
+  void SetGeometryPhosPhiAccMaxCut(const Double_t val) { fGeometryPhosPhiAccMaxCut = val; }
+  void SetGeometryPhosDetectorRadius(const Double_t val) { fGeometryPhosDetectorRadius = val; }
+  // GeometryEmcal
+  void SetGeometryEmcalEtaAccCut(const Double_t val) { fGeometryEmcalEtaAccCut = val; }
+  void SetGeometryEmcalPhiAccMinCut(const Double_t val) { fGeometryEmcalPhiAccMinCut = val; }
+  void SetGeometryEmcalPhiAccMaxCut(const Double_t val) { fGeometryEmcalPhiAccMaxCut = val; }
+  void SetGeometryEmcalDetectorRadius(const Double_t val) { fGeometryEmcalDetectorRadius = val; }
+  // Reconstructed
+  void SetReconstructedVertexXCut(const Double_t val) { fReconstructedVertexXCut = val; }
+  void SetReconstructedVertexYCut(const Double_t val) { fReconstructedVertexYCut = val; }
+  void SetReconstructedVertexZCut(const Double_t val) { fReconstructedVertexZCut = val; }
+  void SetReconstructedIPxyCut(const Double_t val) { fReconstructedIPxyCut = val; }
+  void SetReconstructedIPzCut(const Double_t val) { fReconstructedIPzCut = val; }
+  void SetReconstructedNTpcClustersCut(const Int_t val) { fReconstructedNTpcClustersCut = val; }
+  void SetReconstructedNItsClustersCut(const Int_t val) { fReconstructedNItsClustersCut = val; }
+  void SetReconstrucedPidCut(const Double_t val) { fReconstructedPidCut = val; }
+  // ReconstructedPhos
+  void SetReconstructedPhosClusterType(const Char_t val) { fReconstructedPhosClusterType = val; }
+  void SetReconstructedPhosClusterEnergyCut(const Double_t val) { fReconstructedPhosClusterEnergyCut = val; }
+  void SetReconstructedPhosSingleCellEnergyCut(const Double_t val) { fReconstructedPhosSingleCellEnergyCut = val; }
+  void SetPhosTrackDistanceCut(const Double_t val) { fPhosTrackDistanceCut = val; }
+  void SetPhosTrackDxCut(const Double_t val) { fPhosTrackDxCut = val; }
+  void SetPhosTrackDzCut(const Double_t val) { fPhosTrackDzCut = val; }
+  
+  // ReconstructedEmcal
+  void SetReconstructedEmcalClusterType(const Char_t val) { fReconstructedEmcalClusterType = val; }
+  void SetReconstructedEmcalClusterEnergyCut(const Double_t val) { fReconstructedEmcalClusterEnergyCut = val; }
+  void SetReconstructedEmcalSingleCellEnergyCut(const Double_t val) { fReconstructedEmcalSingleCellEnergyCut = val; }
+  void SetEmcalTrackDistanceCut(const Double_t val) { fEmcalTrackDistanceCut = val; }
+  // MonteCarlo
+  void SetMonteCarloSingleChargedParticle(const Double_t val) { fMonteCarloSingleChargedParticle = val; }
+  void SetMonteCarloNeutralParticle(const Double_t val) { fMonteCarloNeutralParticle = val; }
+  // Hist: TTree and histogram info
+  void SetHistMakeTree(const Bool_t val) { fHistMakeTree = val; }
+  void SetHistMakeTreeDeposit(const Bool_t val) { fHistMakeTreeDeposit = val; }
+  //
+  void SetHistNbinsMult(const Int_t val) { fHistNbinsMult = val; }
+  void SetHistMinMult(const Double_t val) { fHistMinMult = val; }
+  void SetHistMaxMult(const Double_t val) { fHistMaxMult = val; }
+  //
+  void SetHistNbinsTotEt(const Int_t val) { fHistNbinsTotEt = val; }
+  void SetHistMinTotEt(const Double_t val) { fHistMinTotEt = val; }
+  void SetHistMaxTotEt(const Double_t val) { fHistMaxTotEt = val; }
+  //
+  void SetHistNbinsParticleEt(const Int_t val) { fHistNbinsParticleEt = val; }
+  void SetHistMinParticleEt(const Double_t val) { fHistMinParticleEt = val; }
+  void SetHistMaxParticleEt(const Double_t val) { fHistMaxParticleEt = val; }
+  //
+  void SetHistNbinsParticlePt(const Int_t val) { fHistNbinsParticlePt = val; }
+  void SetHistMinParticlePt(const Double_t val) { fHistMinParticlePt = val; }
+  void SetHistMaxParticlePt(const Double_t val) { fHistMaxParticlePt = val; }
 
-namespace EtReconstructedCutsEmcal
-{
-   const Char_t kClusterType = -1;
-   
-   const Double_t kClusterEnergyCut = 0.1; // GeV
-   const Double_t kSingleCellEnergyCut = 0.5;
-   
-   const Double_t kTrackDistanceCut = 15.0;
-   
-};
 
-namespace EtMonteCarloCuts
-{
-   
-   const Double_t kSingleChargedParticle = 3;
-   const Double_t kNeutralParticle = 0;
-   
+ protected:
+
+  // Common   
+  Double_t fCommonEtaCut; // Eta cut
+  Double_t fCommonClusterEnergyCut; // Cluster Energy cut
+  Double_t fCommonTrackPtCut; // Track Pt
+  Int_t fCommonSingleCell; // Single Cell (1)
+  Double_t fEmcalTrackDistanceCut; // EMCal track distance
+  Double_t fEmcalTrackDxCut; // EMCal track distance in x 
+  Double_t fEmcalTrackDzCut; // EMCal track distance in z
+  
+  Double_t fPhosTrackDistanceCut; // PHOS track distance  
+  Double_t fPhosTrackDxCut; // PHOS track distance in x
+  Double_t fPhosTrackDzCut; // PHOS track distance  in z
+  
+  // GeometryPhos
+  Double_t fGeometryPhosEtaAccCut; // PHOS Eta Acc cut
+  Double_t fGeometryPhosPhiAccMinCut; // PHOS Phi Acc Min cut
+  Double_t fGeometryPhosPhiAccMaxCut; // PHOS Phi Acc Max cut
+  Double_t fGeometryPhosDetectorRadius; // PHOS Detector Radius 
+
+  // GeometryEmcal
+  Double_t fGeometryEmcalEtaAccCut; // EMCal Eta Acc cut
+  Double_t fGeometryEmcalPhiAccMinCut; // EMCal Phi Acc Min cut
+  Double_t fGeometryEmcalPhiAccMaxCut; // EMCal Phi Acc Max cut
+  Double_t fGeometryEmcalDetectorRadius; // EMCal Detector Radius
+
+  // Reconstructed
+  Double_t fReconstructedVertexXCut; // vertex X cut
+  Double_t fReconstructedVertexYCut; // vertex Y cut
+  Double_t fReconstructedVertexZCut; // vertex Z cut
+  Double_t fReconstructedIPxyCut; // IP xy cut
+  Double_t fReconstructedIPzCut; // IP z cut
+  Int_t fReconstructedNTpcClustersCut; // # of TPC clusters cut
+  Int_t fReconstructedNItsClustersCut; // # of ITS clusters cut
+  Double_t fReconstructedPidCut; // cut on pid prob
+
+  // ReconstructedPhos
+  Char_t fReconstructedPhosClusterType; // PHOS cluster type
+  Double_t fReconstructedPhosClusterEnergyCut; // PHOS cluster energy
+  Double_t fReconstructedPhosSingleCellEnergyCut; // PHOS single cell energy
+  Double_t fReconstructedPhosTrackDistanceTightCut; // PHOS track distance
+  Double_t fReconstructedPhosTrackDistanceMediumCut; // PHOS track distance
+  Double_t fReconstructedPhosTrackDistanceLooseCut; // PHOS track distance
+
+  // ReconstructedEmcal
+  Char_t fReconstructedEmcalClusterType; // EMCal cluster type
+  Double_t fReconstructedEmcalClusterEnergyCut; // EMCal cluster energy
+  Double_t fReconstructedEmcalSingleCellEnergyCut; // EMCal single cell energy
+  Double_t fReconstructedEmcalTrackDistanceTightCut; // EMCAL track distance
+  Double_t fReconstructedEmcalTrackDistanceMediumCut; // EMCAL track distance
+  Double_t fReconstructedEmcalTrackDistanceLooseCut; // EMCAL track distance
+
+  // MonteCarlo
+  Double_t fMonteCarloSingleChargedParticle; // MC charged
+  Double_t fMonteCarloNeutralParticle; // MC neutral
+
+  // Hist: TTree and histogram info
+  Bool_t fHistMakeTree; // whether to make a summary tree or not
+  Bool_t fHistMakeTreeDeposit; // whether to make a summary tree of energy deposit or not
+  
+  Int_t fHistNbinsMult; // number of bins in multiplicity histograms
+  Double_t fHistMinMult; // minimum value in multiplicity histograms
+  Double_t fHistMaxMult; // maximum value in multiplicity histograms
+
+  Int_t fHistNbinsTotEt; // number of bins in event Et histograms
+  Double_t fHistMinTotEt; // minimum value in event Et histograms
+  Double_t fHistMaxTotEt; // maximum value in event Et histograms
+
+  Int_t fHistNbinsParticleEt; // number of bins in particle Et histograms
+  Double_t fHistMinParticleEt; // minimum value in particle Et histograms
+  Double_t fHistMaxParticleEt; // maximum value in particle Et histograms
+
+  Int_t fHistNbinsParticlePt; // number of bins in particle Pt histograms
+  Double_t fHistMinParticlePt; // minimum value in particle Pt histograms
+  Double_t fHistMaxParticlePt; // maximum value in particle Pt histograms
+
+// Detector definition
+  static const Short_t fgkDetectorPhos = -1; // PHOS 
+  static const Short_t fgkDetectorEmcal = 1; // EMCAL 
+
+private:
+  //Declare private to avoid compilation warning
+  AliAnalysisEtCuts & operator = (const AliAnalysisEtCuts & g) ;//copy assignment
+  AliAnalysisEtCuts(const AliAnalysisEtCuts & g) ; // copy ctor
+
+  ClassDef(AliAnalysisEtCuts, 1);
 };
 
-#endif
+#endif // ALIANALYSISETCUTS_H