ROOT logo
#ifndef ALIRSNPIDRANGE_H
#define ALIRSNPIDRANGE_H

//
// Class for n-sigma PID cuts.
// ---
// Requires:
//
// 1) the used detector, chosen from an enumeration
// 2) the reference charged particle species, chosen from AliPID enumeration
// 3) a momentum range: outside it, the cut is never passed
//

#include <TObject.h>
#include <Rtypes.h>

class AliRsnPIDRange : public TObject {
public:

   AliRsnPIDRange(Double_t nsigma=3.0, Double_t pmin=0.0, Double_t pmax=1E20);
   AliRsnPIDRange(const AliRsnPIDRange &copy);
   AliRsnPIDRange &operator=(const AliRsnPIDRange &copy);
   virtual ~AliRsnPIDRange() { }

   Double_t PMin() const      {return fPMin;}
   Double_t PMax() const      {return fPMax;}
   Double_t NSigmaCut() const {return fNSigmaCut;}

   Bool_t IsInRange(Double_t mom)  {return (mom >= fPMin && mom <= fPMax);}
   Bool_t CutPass(Double_t nsigma) {return (nsigma <= fNSigmaCut);}

private:

   Double_t fPMin;      // lower bound of momentum range
   Double_t fPMax;      // upper bound of momentum range
   Double_t fNSigmaCut; // cut in number of sigmas

   ClassDef(AliRsnPIDRange,1)
};

#endif
 AliRsnPIDRange.h:1
 AliRsnPIDRange.h:2
 AliRsnPIDRange.h:3
 AliRsnPIDRange.h:4
 AliRsnPIDRange.h:5
 AliRsnPIDRange.h:6
 AliRsnPIDRange.h:7
 AliRsnPIDRange.h:8
 AliRsnPIDRange.h:9
 AliRsnPIDRange.h:10
 AliRsnPIDRange.h:11
 AliRsnPIDRange.h:12
 AliRsnPIDRange.h:13
 AliRsnPIDRange.h:14
 AliRsnPIDRange.h:15
 AliRsnPIDRange.h:16
 AliRsnPIDRange.h:17
 AliRsnPIDRange.h:18
 AliRsnPIDRange.h:19
 AliRsnPIDRange.h:20
 AliRsnPIDRange.h:21
 AliRsnPIDRange.h:22
 AliRsnPIDRange.h:23
 AliRsnPIDRange.h:24
 AliRsnPIDRange.h:25
 AliRsnPIDRange.h:26
 AliRsnPIDRange.h:27
 AliRsnPIDRange.h:28
 AliRsnPIDRange.h:29
 AliRsnPIDRange.h:30
 AliRsnPIDRange.h:31
 AliRsnPIDRange.h:32
 AliRsnPIDRange.h:33
 AliRsnPIDRange.h:34
 AliRsnPIDRange.h:35
 AliRsnPIDRange.h:36
 AliRsnPIDRange.h:37
 AliRsnPIDRange.h:38
 AliRsnPIDRange.h:39
 AliRsnPIDRange.h:40
 AliRsnPIDRange.h:41