2 // Class AliRsnCutRange
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.
8 // authors: Martin Vala (martin.vala@cern.ch)
9 // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
12 #ifndef ALIRSNCUTBETHEBLOCH_H
13 #define ALIRSNCUTBETHEBLOCH_H
16 #include "AliRsnCut.h"
18 class AliRsnCutBetheBloch : public AliRsnCut
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() {;};
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);
32 virtual Bool_t IsSelected(TObject *object);
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
41 ClassDef(AliRsnCutBetheBloch, 1)