]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliHFEpidTOF.h
Fix of sigmaZ for crossing tracklets from Alex
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEpidTOF.h
1 #ifndef ALIHFEPIDTOF_H
2 #define ALIHFEPIDTOF_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice   */   
6
7 //
8 // Class for TOF PID
9 // Rejects protons and kaons at the TPC dE/dx line crossings
10 // For more information please check the implementation file
11 //
12 #ifndef ALIHFEPIDBASE_H
13 #include "AliHFEpidBase.h"
14 #endif
15
16 #ifndef ROOT_TARRAY
17 #include <TArrayD.h>
18 #endif
19
20 class AliVParticle;
21 class AliVTrack;
22 class AliPID;
23
24 class AliHFEpidQAmanager;
25
26 class AliHFEpidTOF : public AliHFEpidBase{
27   public:
28     AliHFEpidTOF();
29     AliHFEpidTOF(const Char_t *name);
30     virtual ~AliHFEpidTOF();
31     AliHFEpidTOF(const AliHFEpidTOF &c);
32     AliHFEpidTOF &operator=(const AliHFEpidTOF &c);
33   
34     virtual Bool_t    InitializePID(Int_t /*run*/);
35     virtual Int_t     IsSelected(const AliHFEpidObject *track, AliHFEpidQAmanager *piqa) const;
36   
37     void SetTOFnSigma(Float_t nSigma) { fNsigmaTOF = nSigma; };
38     void SetTOFnSigmaBand(Float_t lower, Float_t upper);
39     void SetTOFnSigmaBandCentrality(Float_t lower, Float_t upper, Int_t centralityBin); 
40     void SetGenerateTOFmismatch(Bool_t gen = kTRUE, Int_t ntrk = 10) { fGenerateTOFmismatch = gen; fNmismatchTracks = ntrk; }
41     Bool_t IsGenerateTOFmismatch() const { return fGenerateTOFmismatch; }
42     Int_t GetNmismatchTracks() const { return fNmismatchTracks; }
43     void UseTOFonlyIfAvailable() { fUseOnlyIfAvailable = kTRUE; }
44     void SetRejectTOFmismatch() { fRejectMismatch = kTRUE; }
45     void GenerateTOFmismatch(const AliVTrack * const trk, int ntrk, TArrayD &sigmaEl);
46
47   protected:
48     void Copy(TObject &ref) const;
49     Bool_t IsMismatch(const AliVTrack *const track) const;
50
51   private:
52     enum {
53       kSigmaBand = BIT(15)
54     };
55     Float_t    fNsigmaTOF;          // TOF sigma band
56     Float_t    fSigmaBordersTOFLower[12]; // Min.  sigma cut
57     Float_t    fSigmaBordersTOFUpper[12]; // Max.  sigma cut
58     Bool_t     fUseOnlyIfAvailable;       // Use TOF obly if available
59     Bool_t     fRejectMismatch;           // Reject TOF mismatch
60     Bool_t     fGenerateTOFmismatch;      // Generate TOF mismatch
61     Int_t      fNmismatchTracks;          // Number of mismatch tracks to generate
62
63     ClassDef(AliHFEpidTOF, 1)
64 };
65
66 #endif