]>
Commit | Line | Data |
---|---|---|
bdcfac30 | 1 | #ifndef ALINEUTRALMESONSELECTION_H |
2 | #define ALINEUTRALMESONSELECTION_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id$ */ | |
6 | ||
bdcfac30 | 7 | //_________________________________________________________________________ |
8 | // Class that contains methods to select candidate pairs to neutral meson | |
3bb2c538 | 9 | // 2 main selections, invariant mass around pi0 (also any other mass), |
10 | // apperture angle to distinguish from combinatorial. | |
11 | // There is a 3rd cut based on the gamma correlation on phi or pt. | |
bdcfac30 | 12 | //-- Author: Gustavo Conesa (INFN-LNF) |
13 | ||
14 | // --- ROOT system --- | |
15 | #include<TObject.h> | |
3bb2c538 | 16 | #include<TArrayD.h> |
bdcfac30 | 17 | |
18 | class TLorentzVector ; | |
bdcfac30 | 19 | class TList ; |
20 | class TH2F ; | |
3bb2c538 | 21 | class Riostream ; |
22 | ||
2c8efea8 | 23 | //--- ANALYSIS system --- |
3bb2c538 | 24 | class AliLog ; |
bdcfac30 | 25 | |
26 | class AliNeutralMesonSelection : public TObject { | |
27 | ||
28 | public: | |
29 | ||
30 | AliNeutralMesonSelection() ; // default ctor | |
31 | AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor | |
32 | AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment | |
33 | virtual ~AliNeutralMesonSelection() ; //virtual dtor | |
34 | ||
bdcfac30 | 35 | TList * GetCreateOutputObjects(); |
36 | ||
37 | Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; } | |
38 | void SetAngleMaxParam(Int_t i, Double_t par){fAngleMaxParam.AddAt(par,i) ; } | |
39 | ||
40 | Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; } | |
41 | Double_t GetInvMassMinCut() const {return fInvMassMinCut ; } | |
42 | void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax) | |
43 | {fInvMassMaxCut =invmassmax; fInvMassMinCut =invmassmin;} | |
bdcfac30 | 44 | |
45 | Double_t GetMass() const {return fM ; } | |
46 | void SetMass(Double_t m) { fM =m ; } | |
bdcfac30 | 47 | |
3bb2c538 | 48 | Bool_t AreNeutralMesonSelectionHistosKept() const { return fKeepNeutralMesonHistos ; } |
bdcfac30 | 49 | void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; } |
50 | ||
51 | void InitParameters(); | |
3bb2c538 | 52 | Bool_t IsAngleInWindow(const Float_t angle, const Float_t e) const ; |
bdcfac30 | 53 | void Print(const Option_t * opt) const; |
54 | ||
2c8efea8 | 55 | Bool_t SelectPair(TLorentzVector particlei, TLorentzVector particlej) ; |
bdcfac30 | 56 | |
57 | private: | |
bdcfac30 | 58 | Double_t fM ; //mass of the neutral meson |
59 | Double_t fInvMassMaxCut ; // Invariant Mass cut maximum | |
60 | Double_t fInvMassMinCut ; // Invariant Masscut minimun | |
61 | TArrayD fAngleMaxParam ; //Max opening angle selection parameters | |
2cc4014d | 62 | |
bdcfac30 | 63 | Bool_t fKeepNeutralMesonHistos ; // Keep neutral meson selection histograms |
64 | ||
65 | //Histograms | |
3bb2c538 | 66 | TH2F * fhAnglePairNoCut ; //Aperture angle of decay photons, no cuts |
3bb2c538 | 67 | TH2F * fhAnglePairOpeningAngleCut ; //Aperture angle of decay photons, cut on opening angle |
68 | TH2F * fhAnglePairAllCut ; //Aperture angle of decay photons, all cuts | |
69 | TH2F * fhInvMassPairNoCut ; //Invariant mass of decay photons, no cuts | |
3bb2c538 | 70 | TH2F * fhInvMassPairOpeningAngleCut ; //Invariant mass of decay photons, cut on opening angle |
71 | TH2F * fhInvMassPairAllCut ; //Invariant mass of decay photons, all cuts | |
bdcfac30 | 72 | |
4b707925 | 73 | ClassDef(AliNeutralMesonSelection,1) |
bdcfac30 | 74 | |
75 | } ; | |
76 | ||
77 | ||
78 | #endif //ALINEUTRALMESONSELECTION_H | |
79 | ||
80 | ||
81 |