class TH2F ;
//--- ANALYSIS system ---
-class AliLog ;
class AliNeutralMesonSelection : public TObject {
-
-public:
-
- AliNeutralMesonSelection() ; // default ctor
- AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
- AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
- virtual ~AliNeutralMesonSelection() ; //virtual dtor
-
- TList * GetCreateOutputObjects();
-
- Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; }
- void SetAngleMaxParam(Int_t i, Double_t par){fAngleMaxParam.AddAt(par,i) ; }
-
- Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; }
- Double_t GetInvMassMinCut() const {return fInvMassMinCut ; }
- void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
- {fInvMassMaxCut =invmassmax; fInvMassMinCut =invmassmin;}
-
- Double_t GetMass() const {return fM ; }
- void SetMass(Double_t m) { fM =m ; }
-
- Bool_t AreNeutralMesonSelectionHistosKept() const { return fKeepNeutralMesonHistos ; }
- void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; }
-
- void InitParameters();
- Bool_t IsAngleInWindow(const Float_t angle, const Float_t e) const ;
- void Print(const Option_t * opt) const;
-
- Bool_t SelectPair(TLorentzVector particlei, TLorentzVector particlej) ;
-
- //Histogrammes setters and getters
-
- virtual void SetHistoERangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoNEBins = n ;
- fHistoEMax = max ;
- fHistoEMin = min ;
- }
-
- Int_t GetHistoNEBins() const { return fHistoNEBins ; }
- Float_t GetHistoEMin() const { return fHistoEMin ; }
- Float_t GetHistoEMax() const { return fHistoEMax ; }
-
- virtual void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoNPtBins = n ;
- fHistoPtMax = max ;
- fHistoPtMin = min ;
- }
-
- Int_t GetHistoNPtBins() const { return fHistoNPtBins ; }
- Float_t GetHistoPtMin() const { return fHistoPtMin ; }
- Float_t GetHistoPtMax() const { return fHistoPtMax ; }
-
- virtual void SetHistoAngleRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoNAngleBins = n ;
- fHistoAngleMax = max ;
- fHistoAngleMin = min ;
- }
-
- Int_t GetHistoNAngleBins() const { return fHistoNAngleBins ; }
- Float_t GetHistoAngleMin() const { return fHistoAngleMin ; }
- Float_t GetHistoAngleMax() const { return fHistoAngleMax ; }
-
- virtual void SetHistoIMRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoNIMBins = n ;
- fHistoIMMax = max ;
- fHistoIMMin = min ;
- }
-
- Int_t GetHistoNIMBins() const { return fHistoNIMBins ; }
- Float_t GetHistoIMMin() const { return fHistoIMMin ; }
- Float_t GetHistoIMMax() const { return fHistoIMMax ; }
-
-
-private:
- Double_t fM ; //mass of the neutral meson
- Double_t fInvMassMaxCut ; // Invariant Mass cut maximum
- Double_t fInvMassMinCut ; // Invariant Masscut minimun
- TArrayD fAngleMaxParam ; //Max opening angle selection parameters
-
- Bool_t fKeepNeutralMesonHistos ; // Keep neutral meson selection histograms
-
- //Histograms
- TH2F * fhAnglePairNoCut ; //Aperture angle of decay photons, no cuts
- TH2F * fhAnglePairOpeningAngleCut ; //Aperture angle of decay photons, cut on opening angle
- TH2F * fhAnglePairAllCut ; //Aperture angle of decay photons, all cuts
- TH2F * fhInvMassPairNoCut ; //Invariant mass of decay photons, no cuts
- TH2F * fhInvMassPairOpeningAngleCut ; //Invariant mass of decay photons, cut on opening angle
- TH2F * fhInvMassPairAllCut ; //Invariant mass of decay photons, all cuts
-
- //Histograms binning and range
- Int_t fHistoNEBins ; //Number of bins in pi0 E axis
- Float_t fHistoEMax ; //Maximum value of pi0 E histogram range
- Float_t fHistoEMin ; //Minimum value of pi0 E histogram range
- Int_t fHistoNPtBins ; //Number of bins in Pt trigger axis
- Float_t fHistoPtMax ; //Maximum value of Pt trigger histogram range
- Float_t fHistoPtMin ; //Minimum value of Pt trigger histogram range
- Int_t fHistoNAngleBins ; //Number of bins in angle axis
- Float_t fHistoAngleMax ;//Maximum value of angle histogram range
- Float_t fHistoAngleMin ;//Minimum value of angle histogram range
- Int_t fHistoNIMBins ; //Number of bins in Invariant Mass axis
- Float_t fHistoIMMax ; //Maximum value of Invariant Mass histogram range
- Float_t fHistoIMMin ; //Minimum value of Invariant Mass histogram range
-
- ClassDef(AliNeutralMesonSelection,2)
+
+ public:
+
+ AliNeutralMesonSelection() ; // default ctor
+ AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
+ AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
+ virtual ~AliNeutralMesonSelection() ; //virtual dtor
+
+ TList * GetCreateOutputObjects();
+
+ Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; }
+ void SetAngleMaxParam(Int_t i, Double_t par){fAngleMaxParam.AddAt(par,i) ; }
+
+ Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; }
+ Double_t GetInvMassMinCut() const {return fInvMassMinCut ; }
+ void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
+ {fInvMassMaxCut =invmassmax; fInvMassMinCut =invmassmin;}
+
+ Double_t GetMass() const {return fM ; }
+ void SetMass(Double_t m) { fM =m ; }
+
+ Bool_t AreNeutralMesonSelectionHistosKept() const { return fKeepNeutralMesonHistos ; }
+ void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; }
+
+ void InitParameters();
+ Bool_t IsAngleInWindow(const Float_t angle, const Float_t e) const ;
+ void Print(const Option_t * opt) const;
+
+ Bool_t SelectPair(TLorentzVector particlei, TLorentzVector particlej) ;
+
+ //Histogrammes setters and getters
+
+ virtual void SetHistoERangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoNEBins = n ;
+ fHistoEMax = max ;
+ fHistoEMin = min ;
+ }
+
+ Int_t GetHistoNEBins() const { return fHistoNEBins ; }
+ Float_t GetHistoEMin() const { return fHistoEMin ; }
+ Float_t GetHistoEMax() const { return fHistoEMax ; }
+
+ virtual void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoNPtBins = n ;
+ fHistoPtMax = max ;
+ fHistoPtMin = min ;
+ }
+
+ Int_t GetHistoNPtBins() const { return fHistoNPtBins ; }
+ Float_t GetHistoPtMin() const { return fHistoPtMin ; }
+ Float_t GetHistoPtMax() const { return fHistoPtMax ; }
+
+ virtual void SetHistoAngleRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoNAngleBins = n ;
+ fHistoAngleMax = max ;
+ fHistoAngleMin = min ;
+ }
+
+ Int_t GetHistoNAngleBins() const { return fHistoNAngleBins ; }
+ Float_t GetHistoAngleMin() const { return fHistoAngleMin ; }
+ Float_t GetHistoAngleMax() const { return fHistoAngleMax ; }
+
+ virtual void SetHistoIMRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoNIMBins = n ;
+ fHistoIMMax = max ;
+ fHistoIMMin = min ;
+ }
+
+ Int_t GetHistoNIMBins() const { return fHistoNIMBins ; }
+ Float_t GetHistoIMMin() const { return fHistoIMMin ; }
+ Float_t GetHistoIMMax() const { return fHistoIMMax ; }
+
+
+ private:
+ Double_t fM ; //mass of the neutral meson
+ Double_t fInvMassMaxCut ; // Invariant Mass cut maximum
+ Double_t fInvMassMinCut ; // Invariant Masscut minimun
+ TArrayD fAngleMaxParam ; //Max opening angle selection parameters
+
+ Bool_t fKeepNeutralMesonHistos ; // Keep neutral meson selection histograms
+
+ //Histograms
+ TH2F * fhAnglePairNoCut ; //Aperture angle of decay photons, no cuts
+ TH2F * fhAnglePairOpeningAngleCut ; //Aperture angle of decay photons, cut on opening angle
+ TH2F * fhAnglePairAllCut ; //Aperture angle of decay photons, all cuts
+ TH2F * fhInvMassPairNoCut ; //Invariant mass of decay photons, no cuts
+ TH2F * fhInvMassPairOpeningAngleCut ; //Invariant mass of decay photons, cut on opening angle
+ TH2F * fhInvMassPairAllCut ; //Invariant mass of decay photons, all cuts
+
+ //Histograms binning and range
+ Int_t fHistoNEBins ; //Number of bins in pi0 E axis
+ Float_t fHistoEMax ; //Maximum value of pi0 E histogram range
+ Float_t fHistoEMin ; //Minimum value of pi0 E histogram range
+ Int_t fHistoNPtBins ; //Number of bins in Pt trigger axis
+ Float_t fHistoPtMax ; //Maximum value of Pt trigger histogram range
+ Float_t fHistoPtMin ; //Minimum value of Pt trigger histogram range
+ Int_t fHistoNAngleBins ; //Number of bins in angle axis
+ Float_t fHistoAngleMax ;//Maximum value of angle histogram range
+ Float_t fHistoAngleMin ;//Minimum value of angle histogram range
+ Int_t fHistoNIMBins ; //Number of bins in Invariant Mass axis
+ Float_t fHistoIMMax ; //Maximum value of Invariant Mass histogram range
+ Float_t fHistoIMMin ; //Minimum value of Invariant Mass histogram range
+
+ ClassDef(AliNeutralMesonSelection,2)
-} ;
+ } ;
#endif //ALINEUTRALMESONSELECTION_H