QA ref defaut storage setter in sim and rec
[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
ac909664 48 virtual Bool_t IsSelected(TObject *) {return kTRUE;}\r
49 virtual Bool_t IsSelected(TList *) {return kTRUE;}\r
6d1c79ca 50\r
51 // add particle to array \r
52 void AddPdgParticle(Int_t idx=-1, Int_t pdgcode=0) const;\r
53\r
54 // check particle in array \r
55 Bool_t IsPdgParticle(Int_t pdgcode=0) const;\r
56\r
b4126c69 57 // check particle in array \r
58 Bool_t IsPosPdgParticle(Int_t pdgcode=0) const;\r
59\r
6d1c79ca 60 // Merge output objects (needed by PROOF) \r
61 virtual Long64_t Merge(TCollection* list);\r
62\r
63private:\r
64 Int_t fMinRowsWithDigits; // min. number of TPC raws with digits \r
65 Float_t fMaxR; // max. R distance from MC vertex \r
66 Float_t fMaxVz; // max. Z distance from MC vertex\r
67 Float_t fMinTPCSignal; // min. TPC Signal calculated from Bethe Bloch formula\r
68 Float_t fMaxTPCSignal; // max. TPC Signal calculated from Bethe Bloch formula\r
69 \r
70 TArrayI* aTrackParticles; // array of tracked particles \r
71\r
72 // PDG tracked particles (later added to aTrackParticles)\r
73 enum enumData {\r
74 kNParticles = 10, // number of particles below\r
75 ep = -11,\r
76 em = 11,\r
77 mup = -13,\r
78 mum = 13,\r
79 pip = 211,\r
80 pim = -211,\r
81 kp = 321,\r
82 km = -321,\r
83 prot = 2212,\r
84 protbar = -2212\r
85 };\r
86\r
87 AliMCInfoCuts(const AliMCInfoCuts&); // not implemented\r
88 AliMCInfoCuts& operator=(const AliMCInfoCuts&); // not implemented\r
89\r
90 ClassDef(AliMCInfoCuts, 1)\r
91};\r
92\r
93#endif // ALIMCINFOCUTS_H\r