]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutBetheBloch.h
Update macros
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutBetheBloch.h
1 //
2 // Class AliRsnCutRange
3 //
4 // General implementation of cuts which check a value inside a range.
5 // This range can be defined by two integers or two doubles.
6 // A user-friendly enumeration allows to define what is checked.
7 //
8 // authors: Martin Vala (martin.vala@cern.ch)
9 //          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
10 //
11
12 #ifndef ALIRSNCUTBETHEBLOCH_H
13 #define ALIRSNCUTBETHEBLOCH_H
14
15 #include "AliPID.h"
16 #include "AliRsnCut.h"
17
18 class AliRsnCutBetheBloch : public AliRsnCut
19 {
20   public:
21
22     AliRsnCutBetheBloch();
23     AliRsnCutBetheBloch(const char *name, Double_t fractionRange, AliPID::EParticleType type, Double_t mip = 50.0, Bool_t correct = kTRUE);
24     virtual ~AliRsnCutBetheBloch() {;};
25
26     void           SetType(AliPID::EParticleType type) {fType = type;}
27     void           SetMIP(Double_t mip) {fMIP = mip;}
28     void           SetCalibConstant(Int_t i, Double_t value) {if (i>=0&&i<5) fConst[i] = value;}
29     Double_t       BetheBloch(AliRsnDaughter*const track);
30     Double_t       RelDiff(AliRsnDaughter *track);
31
32     virtual Bool_t IsSelected(TObject *object);
33
34   protected:
35
36     Bool_t                fCorrect;   // apply or not the saturation corrections
37     Double_t              fMIP;       // MIP normalization
38     Double_t              fConst[5];  // calibration constants
39     AliPID::EParticleType fType;      // reference particle type
40
41     ClassDef(AliRsnCutBetheBloch, 1)
42 };
43
44 #endif