]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutBetheBloch.h
c71de547f70e2dd0218af3eafd5d4c0a963b0eca
[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 ALIRSNCUTBETHEBLOCK_H
13 #define ALIRSNCUTBETHEBLOCK_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
25   void           SetType(AliPID::EParticleType type) {fType = type;}
26   void           SetMIP(Double_t mip) {fMIP = mip;}
27   void           SetCalibConstant(Int_t i, Double_t value) {if (i>=0&&i<5) fConst[i] = value;}
28   Double_t       BetheBloch(AliRsnDaughter *track);
29   Double_t       RelDiff(AliRsnDaughter *track);
30
31   virtual Bool_t IsSelected(ETarget tgt, AliRsnDaughter *daughter);
32   virtual Bool_t IsSelected(ETarget tgt, AliRsnPairParticle *pair);
33   virtual Bool_t IsSelected(ETarget tgt, AliRsnEvent *event);
34   virtual Bool_t IsSelected(ETarget tgt, AliRsnEvent *ev1, AliRsnEvent *ev2);
35
36 protected:
37
38   Bool_t                fCorrect;   // apply or not the saturation corrections
39   Double_t              fMIP;       // MIP normalization
40   Double_t              fConst[5];  // calibration constants
41   AliPID::EParticleType fType;      // reference particle type
42
43   ClassDef(AliRsnCutBetheBloch, 1)
44 };
45
46 #endif