provide adress of the pointer to new AOD branch, not the pointer itself Mihaela G.
[u/mrichter/AliRoot.git] / PWG4 / AliNeutralMesonSelection.h
CommitLineData
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
7/* History of cvs commits:
8 *
9 * $Log$
4b707925 10 * Revision 1.2 2007/08/17 12:40:04 schutz
11 * New analysis classes by Gustavo Conesa
12 *
bdcfac30 13 * Revision 1.1.2.1 2007/07/26 10:32:09 schutz
14 * new analysis classes in the the new analysis framework
15 *
16 *
17 */
18//_________________________________________________________________________
19// Class that contains methods to select candidate pairs to neutral meson
3bb2c538 20// 2 main selections, invariant mass around pi0 (also any other mass),
21// apperture angle to distinguish from combinatorial.
22// There is a 3rd cut based on the gamma correlation on phi or pt.
bdcfac30 23//-- Author: Gustavo Conesa (INFN-LNF)
24
25// --- ROOT system ---
26#include<TObject.h>
3bb2c538 27#include<TArrayD.h>
bdcfac30 28
29class TLorentzVector ;
bdcfac30 30class TList ;
31class TH2F ;
3bb2c538 32class Riostream ;
33
2c8efea8 34//--- ANALYSIS system ---
3bb2c538 35class AliLog ;
bdcfac30 36
37class AliNeutralMesonSelection : public TObject {
38
39 public:
40
41 AliNeutralMesonSelection() ; // default ctor
42 AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
43 AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
44 virtual ~AliNeutralMesonSelection() ; //virtual dtor
45
bdcfac30 46 TList * GetCreateOutputObjects();
47
48 Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; }
49 void SetAngleMaxParam(Int_t i, Double_t par){fAngleMaxParam.AddAt(par,i) ; }
50
51 Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; }
52 Double_t GetInvMassMinCut() const {return fInvMassMinCut ; }
53 void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
54 {fInvMassMaxCut =invmassmax; fInvMassMinCut =invmassmin;}
bdcfac30 55
56 Double_t GetMass() const {return fM ; }
57 void SetMass(Double_t m) { fM =m ; }
bdcfac30 58
3bb2c538 59 Bool_t AreNeutralMesonSelectionHistosKept() const { return fKeepNeutralMesonHistos ; }
bdcfac30 60 void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; }
61
62 void InitParameters();
3bb2c538 63 Bool_t IsAngleInWindow(const Float_t angle, const Float_t e) const ;
bdcfac30 64 void Print(const Option_t * opt) const;
65
2c8efea8 66 Bool_t SelectPair(TLorentzVector particlei, TLorentzVector particlej) ;
bdcfac30 67
68 private:
bdcfac30 69 Double_t fM ; //mass of the neutral meson
70 Double_t fInvMassMaxCut ; // Invariant Mass cut maximum
71 Double_t fInvMassMinCut ; // Invariant Masscut minimun
72 TArrayD fAngleMaxParam ; //Max opening angle selection parameters
2cc4014d 73
bdcfac30 74 Bool_t fKeepNeutralMesonHistos ; // Keep neutral meson selection histograms
75
76 //Histograms
3bb2c538 77 TH2F * fhAnglePairNoCut ; //Aperture angle of decay photons, no cuts
3bb2c538 78 TH2F * fhAnglePairOpeningAngleCut ; //Aperture angle of decay photons, cut on opening angle
79 TH2F * fhAnglePairAllCut ; //Aperture angle of decay photons, all cuts
80 TH2F * fhInvMassPairNoCut ; //Invariant mass of decay photons, no cuts
3bb2c538 81 TH2F * fhInvMassPairOpeningAngleCut ; //Invariant mass of decay photons, cut on opening angle
82 TH2F * fhInvMassPairAllCut ; //Invariant mass of decay photons, all cuts
bdcfac30 83
4b707925 84 ClassDef(AliNeutralMesonSelection,1)
bdcfac30 85
86 } ;
87
88
89#endif //ALINEUTRALMESONSELECTION_H
90
91
92