]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliHFEpidTPC.h
New package for heavy flavour electrons analysis (M.Fasel)
[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**************************************************************************/
15#ifndef __ALIHFEPIDTPC_H__
16#define __ALIHFEPIDTPC_H__
17
18#ifndef __ALIHFEPIDBASE_H__
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
70 void AddTPCdEdxLineCrossing(Int_t species, Double_t p, Double_t sigma_p);
71 void SetTPCnSigma(Short_t nSigma) { fNsigmaTPC = nSigma; };
72 Double_t Likelihood(const AliESDtrack *track, Int_t species);
73 Double_t Likelihood(const AliESDtrack *track, Int_t species, Float_t rsig);
74
75 Double_t Suppression(const AliESDtrack *track, Int_t species);
76
77 protected:
78 void Copy(TObject &o) const;
79 void AddQAhistograms(TList *qaList);
80 void FillTPChistograms(const AliESDtrack *track);
81 Double_t GetTPCsigma(Double_t p, Int_t species);
82
83 private:
84 Double_t fLineCrossingCenter[AliPID::kSPECIES]; // Line crossing ExclusionPoints
85 Double_t fLineCrossingSigma[AliPID::kSPECIES]; // with of the exclusion point
86 UChar_t fLineCrossingsEnabled; // Bitmap showing which line crossing is set
87 Short_t fNsigmaTPC; // TPC sigma band
88 AliPID *fPID; //! PID Object
89 AliTPCpidESD *fPIDtpcESD; //! TPC PID object
90 TList *fQAList; //! QA histograms
91
92 ClassDef(AliHFEpidTPC, 1) // TPC Electron ID class
93};
94#endif