]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliMCInfoCuts.h
Moved from TDPMjet.
[u/mrichter/AliRoot.git] / PWG1 / AliMCInfoCuts.h
CommitLineData
6d1c79ca 1#ifndef ALIMCINFOCUTS_H\r
2#define ALIMCINFOCUTS_H\r
3\r
4//------------------------------------------------------------------------------\r
5// Class to keep selection cuts for MC tracks. \r
6// \r
7// Author: J.Otwinowski 04/02/2008 \r
8//------------------------------------------------------------------------------\r
9\r
10#include "AliAnalysisCuts.h"\r
11\r
12class TArrayI;\r
13\r
14class AliMCInfoCuts : public AliAnalysisCuts\r
15{\r
16public:\r
17 AliMCInfoCuts(const Char_t* name ="AliMCInfoCuts", const Char_t *title ="");\r
18 virtual ~AliMCInfoCuts(); \r
19 \r
20 // setters \r
21 void SetMinRowsWithDigits(const Int_t min=0) {fMinRowsWithDigits = min;}\r
22 void SetMaxR(const Float_t max=1e99) {fMaxR = max;}\r
23 void SetMaxVz(const Float_t max=1e99) {fMaxVz = max;}\r
24 void SetRangeTPCSignal(const Float_t min=0, const Float_t max=1e99) {fMinTPCSignal = min; fMaxTPCSignal = max;}\r
25\r
26 // getters \r
27 Int_t GetMinRowsWithDigits() const {return fMinRowsWithDigits;}\r
28 Float_t GetMaxR() const {return fMaxR;}\r
29 Float_t GetMaxVz() const {return fMaxVz;}\r
30 Float_t GetMinTPCSignal() const {return fMinTPCSignal;}\r
31 Float_t GetMaxTPCSignal() const {return fMaxTPCSignal;}\r
32\r
33 Float_t GetEP() const {return ep;}\r
34 Float_t GetEM() const {return em;}\r
35 Float_t GetMuP() const {return mup;}\r
36 Float_t GetMuM() const {return mum;}\r
37 Float_t GetPiP() const {return pip;}\r
38 Float_t GetPiM() const {return pim;}\r
39 Float_t GetKP() const {return kp;}\r
40 Float_t GetKM() const {return km;}\r
41 Float_t GetProt() const {return prot;}\r
42 Float_t GetProtBar() const {return protbar;}\r
43 \r
44 // cuts init function\r
45 void Init();\r
46\r
47 // check MC tracks\r
48 Bool_t IsSelected(TObject *) {return kTRUE;}\r
49\r
50 // add particle to array \r
51 void AddPdgParticle(Int_t idx=-1, Int_t pdgcode=0) const;\r
52\r
53 // check particle in array \r
54 Bool_t IsPdgParticle(Int_t pdgcode=0) const;\r
55\r
b4126c69 56 // check particle in array \r
57 Bool_t IsPosPdgParticle(Int_t pdgcode=0) const;\r
58\r
6d1c79ca 59 // Merge output objects (needed by PROOF) \r
60 virtual Long64_t Merge(TCollection* list);\r
61\r
62private:\r
63 Int_t fMinRowsWithDigits; // min. number of TPC raws with digits \r
64 Float_t fMaxR; // max. R distance from MC vertex \r
65 Float_t fMaxVz; // max. Z distance from MC vertex\r
66 Float_t fMinTPCSignal; // min. TPC Signal calculated from Bethe Bloch formula\r
67 Float_t fMaxTPCSignal; // max. TPC Signal calculated from Bethe Bloch formula\r
68 \r
69 TArrayI* aTrackParticles; // array of tracked particles \r
70\r
71 // PDG tracked particles (later added to aTrackParticles)\r
72 enum enumData {\r
73 kNParticles = 10, // number of particles below\r
74 ep = -11,\r
75 em = 11,\r
76 mup = -13,\r
77 mum = 13,\r
78 pip = 211,\r
79 pim = -211,\r
80 kp = 321,\r
81 km = -321,\r
82 prot = 2212,\r
83 protbar = -2212\r
84 };\r
85\r
86 AliMCInfoCuts(const AliMCInfoCuts&); // not implemented\r
87 AliMCInfoCuts& operator=(const AliMCInfoCuts&); // not implemented\r
88\r
89 ClassDef(AliMCInfoCuts, 1)\r
90};\r
91\r
92#endif // ALIMCINFOCUTS_H\r