]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliHFEpid.h
correcting compilation warning
[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**************************************************************************/
75d81601 15#ifndef ALIHFEPID_H
16#define ALIHFEPID_H
809a4336 17
18#ifndef ROOT_TObject
19#include <TObject.h>
20#endif
21
722347d8 22#ifndef ALIHFEPIDBASE_H
23#include "AliHFEpidBase.h"
24#endif
25
809a4336 26class AliESDtrack;
27class AliVParticle;
722347d8 28class AliMCParticle;
809a4336 29
30class TList;
31
32class AliHFEpid : public TObject{
33 enum{
34 kIsQAOn = BIT(14),
35 kHasMCData = BIT(15)
36 };
37 enum{
38 kMCpid = 0,
39 kESDpid = 1,
75d81601 40 kITSpid = 2,
41 kTPCpid = 3,
42 kTRDpid = 4,
43 kTOFpid = 5,
44 kNdetectorPID = 6
45 };
46 enum{
47 kCombinedTPCTRD=0
48 };
49 enum{
50 kTRDSignal = 0,
51 kITSSignal = 1
809a4336 52 };
53 public:
54 AliHFEpid();
55 AliHFEpid(const AliHFEpid &c);
56 AliHFEpid &operator=(const AliHFEpid &c);
57 ~AliHFEpid();
58
0792aa82 59 Bool_t InitializePID(TString argument);
722347d8 60 Bool_t IsSelected(AliHFEpidObject *track);
809a4336 61
62 Bool_t IsQAOn() const { return TestBit(kIsQAOn); };
63 Bool_t HasMCData() const { return TestBit(kHasMCData); };
78ea5ef4 64 void SetDebugLevel(Int_t debugLevel) { fDebugLevel = debugLevel; }
809a4336 65 void SetQAOn();
66 void SetHasMCData(Bool_t hasMCdata = kTRUE) { SetBit(kHasMCData, hasMCdata); };
67 TList *GetQAhistograms() const { return fQAlist; };
68
69 protected:
722347d8 70 Bool_t MakePidTpcTof(AliHFEpidObject *track);
71 Bool_t MakePidTpcTrd(AliHFEpidObject *track);
72 void MakePlotsItsTpc(AliHFEpidObject *track);
0792aa82 73
74 // Stratgies
75 void InitStrategy1();
76 void InitStrategy2();
77 void InitStrategy3();
78 void InitStrategy4();
79 void InitStrategy5();
80 Bool_t IdentifyStrategy1(AliHFEpidObject *track);
81 Bool_t IdentifyStrategy2(AliHFEpidObject *track);
82 Bool_t IdentifyStrategy3(AliHFEpidObject *track);
83 Bool_t IdentifyStrategy4(AliHFEpidObject *track);
84 Bool_t IdentifyStrategy5(AliHFEpidObject *track);
809a4336 85 private:
78ea5ef4 86 AliHFEpidBase *fDetectorPID[kNdetectorPID]; //! Detector PID classes
87 UInt_t fEnabledDetectors; // Enabled Detectors
0792aa82 88 UInt_t fPIDstrategy; // PID Strategy
78ea5ef4 89 TList *fQAlist; //! QA histograms
90 Int_t fDebugLevel; // Debug Level
809a4336 91
92 ClassDef(AliHFEpid, 1) // Steering class for Electron ID
93};
94
95#endif