]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliHFEpid.h
Package update (Markus)
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpid.h
CommitLineData
809a4336 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
7* Permission to use, copy, modify and distribute this software and its *
8* documentation strictly for non-commercial purposes is hereby granted *
9* without fee, provided that the above copyright notice appears in all *
10* copies and that both the copyright notice and this permission notice *
11* appear in the supporting documentation. The authors make no claims *
12* about the suitability of this software for any purpose. It is *
13* provided "as is" without express or implied warranty. *
14**************************************************************************/
50685501 15//
16// Steering class for electron identification
17// Combines detector PID objects
18// For more information please check the implementation file
19//
75d81601 20#ifndef ALIHFEPID_H
21#define ALIHFEPID_H
809a4336 22
23#ifndef ROOT_TObject
24#include <TObject.h>
25#endif
26
722347d8 27#ifndef ALIHFEPIDBASE_H
28#include "AliHFEpidBase.h"
29#endif
30
809a4336 31class AliESDtrack;
32class AliVParticle;
722347d8 33class AliMCParticle;
809a4336 34
35class TList;
36
37class AliHFEpid : public TObject{
50685501 38 public:
809a4336 39 AliHFEpid();
40 AliHFEpid(const AliHFEpid &c);
41 AliHFEpid &operator=(const AliHFEpid &c);
42 ~AliHFEpid();
43
0792aa82 44 Bool_t InitializePID(TString argument);
722347d8 45 Bool_t IsSelected(AliHFEpidObject *track);
809a4336 46
47 Bool_t IsQAOn() const { return TestBit(kIsQAOn); };
48 Bool_t HasMCData() const { return TestBit(kHasMCData); };
78ea5ef4 49 void SetDebugLevel(Int_t debugLevel) { fDebugLevel = debugLevel; }
809a4336 50 void SetQAOn();
51 void SetHasMCData(Bool_t hasMCdata = kTRUE) { SetBit(kHasMCData, hasMCdata); };
52 TList *GetQAhistograms() const { return fQAlist; };
53
54 protected:
722347d8 55 Bool_t MakePidTpcTof(AliHFEpidObject *track);
56 Bool_t MakePidTpcTrd(AliHFEpidObject *track);
57 void MakePlotsItsTpc(AliHFEpidObject *track);
0792aa82 58
59 // Stratgies
60 void InitStrategy1();
61 void InitStrategy2();
62 void InitStrategy3();
63 void InitStrategy4();
64 void InitStrategy5();
9bcfd1ab 65 void InitStrategy6();
0792aa82 66 Bool_t IdentifyStrategy1(AliHFEpidObject *track);
67 Bool_t IdentifyStrategy2(AliHFEpidObject *track);
68 Bool_t IdentifyStrategy3(AliHFEpidObject *track);
69 Bool_t IdentifyStrategy4(AliHFEpidObject *track);
70 Bool_t IdentifyStrategy5(AliHFEpidObject *track);
9bcfd1ab 71 Bool_t IdentifyStrategy6(AliHFEpidObject *track);
809a4336 72 private:
50685501 73 enum{
74 kIsQAOn = BIT(14),
75 kHasMCData = BIT(15)
76 };
77 enum{
78 kMCpid = 0,
79 kESDpid = 1,
80 kITSpid = 2,
81 kTPCpid = 3,
82 kTRDpid = 4,
83 kTOFpid = 5,
84 kNdetectorPID = 6
85 };
86 enum{
87 kCombinedTPCTRD=0
88 };
89 enum{
90 kTRDSignal = 0,
91 kITSSignal = 1
92 };
78ea5ef4 93 AliHFEpidBase *fDetectorPID[kNdetectorPID]; //! Detector PID classes
94 UInt_t fEnabledDetectors; // Enabled Detectors
0792aa82 95 UInt_t fPIDstrategy; // PID Strategy
78ea5ef4 96 TList *fQAlist; //! QA histograms
97 Int_t fDebugLevel; // Debug Level
809a4336 98
99 ClassDef(AliHFEpid, 1) // Steering class for Electron ID
100};
101
102#endif