Since it contains fixes of coding rule violations, all classes are involved. Further...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpidTPC.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 ALIHFEPIDTPC_H
16#define ALIHFEPIDTPC_H
809a4336 17
75d81601 18#ifndef ALIHFEPIDBASE_H
809a4336 19#include "AliHFEpidBase.h"
20#endif
21
22#ifndef ALIPID_H
23#include "AliPID.h"
24#endif
25
26class TList;
27class AliESDtrack;
28class AliTPCpidESD;
29class AliVParticle;
30
31class AliHFEpidTPC : public AliHFEpidBase{
32 typedef enum{
33 kHistTPCelectron = 0,
34 kHistTPCpion = 1,
35 kHistTPCmuon = 2,
36 kHistTPCkaon = 3,
37 kHistTPCproton = 4,
38 kHistTPCothers = 5,
39 kHistTPCall = 6,
40 kHistTPCprobEl = 7,
41 kHistTPCprobPi = 8,
42 kHistTPCprobMu = 9,
43 kHistTPCprobKa = 10,
44 kHistTPCprobPro = 11,
45 kHistTPCprobOth = 12,
46 kHistTPCprobAll = 13,
47 kHistTPCsuppressPi = 14,
48 kHistTPCsuppressMu = 15,
49 kHistTPCsuppressKa = 16,
50 kHistTPCsuppressPro = 17,
51 kHistTPCenhanceElPi = 18,
52 kHistTPCenhanceElMu = 19,
53 kHistTPCenhanceElKa = 20,
54 kHistTPCenhanceElPro = 21,
55 kHistTPCElprobPi = 22,
56 kHistTPCElprobMu = 23,
57 kHistTPCElprobKa = 24,
58 kHistTPCElprobPro = 25
59 } QAHist_t;
60 public:
61 AliHFEpidTPC(const Char_t *name);
62 AliHFEpidTPC(const AliHFEpidTPC &ref);
63 AliHFEpidTPC &operator=(const AliHFEpidTPC &ref);
64 virtual ~AliHFEpidTPC();
65
66 virtual Bool_t InitializePID();
67 virtual Int_t IsSelected(AliVParticle *track);
68 virtual Bool_t HasQAhistos() const { return kTRUE; };
69
75d81601 70 void AddTPCdEdxLineCrossing(Int_t species, Double_t sigma);
809a4336 71 void SetTPCnSigma(Short_t nSigma) { fNsigmaTPC = nSigma; };
75d81601 72 Double_t Likelihood(const AliESDtrack *track, Int_t species, Float_t rsig = 2.);
809a4336 73
74 Double_t Suppression(const AliESDtrack *track, Int_t species);
75
76 protected:
77 void Copy(TObject &o) const;
78 void AddQAhistograms(TList *qaList);
79 void FillTPChistograms(const AliESDtrack *track);
809a4336 80
81 private:
809a4336 82 Double_t fLineCrossingSigma[AliPID::kSPECIES]; // with of the exclusion point
83 UChar_t fLineCrossingsEnabled; // Bitmap showing which line crossing is set
84 Short_t fNsigmaTPC; // TPC sigma band
85 AliPID *fPID; //! PID Object
86 AliTPCpidESD *fPIDtpcESD; //! TPC PID object
87 TList *fQAList; //! QA histograms
88
89 ClassDef(AliHFEpidTPC, 1) // TPC Electron ID class
90};
91#endif