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