]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWG3/hfe/AliHFEpid.h
Since it contains fixes of coding rule violations, all classes are involved. Further...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpid.h
... / ...
CommitLineData
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**************************************************************************/
15#ifndef ALIHFEPID_H
16#define ALIHFEPID_H
17
18#ifndef ROOT_TObject
19#include <TObject.h>
20#endif
21
22class AliHFEpidBase;
23class AliESDtrack;
24class AliVParticle;
25class AliMCEvent;
26
27class TList;
28
29class AliHFEpid : public TObject{
30 enum{
31 kIsQAOn = BIT(14),
32 kHasMCData = BIT(15)
33 };
34 enum{
35 kMCpid = 0,
36 kESDpid = 1,
37 kITSpid = 2,
38 kTPCpid = 3,
39 kTRDpid = 4,
40 kTOFpid = 5,
41 kNdetectorPID = 6
42 };
43 enum{
44 kCombinedTPCTRD=0
45 };
46 enum{
47 kTRDSignal = 0,
48 kITSSignal = 1
49 };
50 public:
51 AliHFEpid();
52 AliHFEpid(const AliHFEpid &c);
53 AliHFEpid &operator=(const AliHFEpid &c);
54 ~AliHFEpid();
55
56 Bool_t InitializePID(TString detectors);
57 Bool_t IsSelected(AliVParticle *track);
58 void SetMCEvent(AliMCEvent *mc);
59
60 Bool_t IsQAOn() const { return TestBit(kIsQAOn); };
61 Bool_t HasMCData() const { return TestBit(kHasMCData); };
62 void SetQAOn();
63 void SetHasMCData(Bool_t hasMCdata = kTRUE) { SetBit(kHasMCData, hasMCdata); };
64 TList *GetQAhistograms() const { return fQAlist; };
65
66 protected:
67 Bool_t MakePidTpcTof(AliESDtrack *track);
68 Bool_t MakePidTpcTrd(AliESDtrack *track);
69 void MakePlotsItsTpc(AliESDtrack *track);
70 private:
71 AliHFEpidBase *fDetectorPID[kNdetectorPID]; //! Detector PID classes
72 UInt_t fEnabledDetectors; // Enabled Detectors
73 TList *fQAlist; //! QA histograms
74
75 ClassDef(AliHFEpid, 1) // Steering class for Electron ID
76};
77
78#endif