1 - Rename AliAnaMaker and AliAnaBaseClass to AliAnaPartCorrMaker and AliAnaPartCorrB...
[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
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
18class TLorentzVector ;
bdcfac30 19class TList ;
20class TH2F ;
3bb2c538 21class Riostream ;
22
2c8efea8 23//--- ANALYSIS system ---
3bb2c538 24class AliLog ;
bdcfac30 25
26class 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