New classes required for revision of package
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutBetheBloch.h
... / ...
CommitLineData
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
18class AliRsnCutBetheBloch : public AliRsnCut
19{
20 public:
21
22 AliRsnCutBetheBloch();
23 AliRsnCutBetheBloch(const char *name, Double_t fractionRange, Double_t mass, Double_t mip = 50.0, Bool_t correct = kTRUE);
24 AliRsnCutBetheBloch(const char *name, Double_t fractionRange, AliPID::EParticleType type, Double_t mip = 50.0, Bool_t correct = kTRUE);
25
26 void SetMass(Double_t mass) {fMass = mass;}
27 void SetMass(AliPID::EParticleType type) {AliPID pid; fMass = pid.ParticleMass(type);}
28 void SetMIP(Double_t mip) {fMIP = mip;}
29 void SetCalibConstant(Int_t i, Double_t value) {if (i>=0&&i<5) fConst[i] = value;}
30 Double_t BetheBloch(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
37protected:
38
39 Bool_t fCorrect; // apply or not the saturation corrections
40 Double_t fMass; // mass hypothesis
41 Double_t fMIP; // MIP normalization
42 Double_t fConst[5]; // calibration constants
43
44 ClassDef(AliRsnCutBetheBloch, 1)
45};
46
47#endif