]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutBetheBloch.h
Modifications in analysis tasks for train
[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(ETarget tgt, AliRsnDaughter *daughter);
33     virtual Bool_t IsSelected(ETarget tgt, AliRsnPairParticle *pair);
34     virtual Bool_t IsSelected(ETarget tgt, AliRsnEvent *event);
35     virtual Bool_t IsSelected(ETarget tgt, AliRsnEvent *ev1, AliRsnEvent *ev2);
36
37   protected:
38
39     Bool_t                fCorrect;   // apply or not the saturation corrections
40     Double_t              fMIP;       // MIP normalization
41     Double_t              fConst[5];  // calibration constants
42     AliPID::EParticleType fType;      // reference particle type
43
44     ClassDef(AliRsnCutBetheBloch, 1)
45 };
46
47 #endif