]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/AliAnalysisCentralCutMC.h
Protection from C.Andrei plus some cosmetics and coding conventions
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisCentralCutMC.h
1 #ifndef ALIANALYSISCENTRALCUTMC_H
2 #define ALIANALYSISCENTRALCUTMC_H
3 /*
4  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
5  * See cxx source for full Copyright notice
6  * $Id$
7  */
8
9 //  ***************************************************
10 //  * MC particle level cuts for azimuthal isotropic  *
11 //  * expansion in highly central collisions analysis *
12 //  * author: Cristian Andrei                         *
13 //  *         acristian@niham.nipne.ro                *
14 //  * *************************************************
15
16 #include "AliAnalysisCuts.h"
17
18 class TObject;
19 class TList;
20
21 class AliStack;
22 class AliMCEvent;
23 class AliMCParticle;
24
25 class AliAnalysisCentralCutMC: public AliAnalysisCuts{
26  public:
27   AliAnalysisCentralCutMC(const char *name="AliAnalysisCentralCutMC", const char *title="MC_cuts");
28   virtual ~AliAnalysisCentralCutMC();
29
30 Bool_t  IsSelected(TObject* const obj);
31 Bool_t  IsSelected(TList* const /*list*/) {return kTRUE;}
32
33   void SetOnlyPrimaries(Bool_t val = kFALSE) {fOnlyPrim = val;}
34
35   void SetPDGCode(Int_t pdg = 0) {fPDGCode = pdg;}
36
37   void SetPtRange(Float_t r1=0, Float_t r2=1e10)      { fPtMin=r1;  fPtMax=r2;}
38   void SetEtaRange(Float_t r1=-1e10, Float_t r2=1e10) { fEtaMin=r1; fEtaMax=r2;}
39   
40   virtual void ReceiveEvt(TObject* mcEvent);
41
42 private:
43   AliAnalysisCentralCutMC(const AliAnalysisCentralCutMC &ref);
44   AliAnalysisCentralCutMC& operator=(const AliAnalysisCentralCutMC &ref);
45
46   Bool_t fOnlyPrim; //kTRUE -> select only primary particles
47   
48   AliMCEvent *fMCEvt; //MC event is needed in order too get the Stack (for IsPrimary)
49
50   Int_t fPDGCode; //the PDG code of the wanted particle
51
52   Double_t   fPtMin,  fPtMax;       // definition of the range of the Pt
53   Double_t   fEtaMin, fEtaMax;      // definition of the range of the eta
54
55   
56   Bool_t IsPrimary(AliMCParticle* const part, AliStack* const Stack);
57
58
59   Bool_t CheckPDG(AliMCParticle* const mcPart, Int_t const pdg = 0);
60
61
62   ClassDef(AliAnalysisCentralCutMC, 1);
63 };
64
65 #endif