]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliHFEpidTRD.h
Since it contains fixes of coding rule violations, all classes are involved. Further...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpidTRD.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 ALIHFEPIDTRD_H
16#define ALIHFEPIDTRD_H
809a4336 17
75d81601 18 #ifndef ALIHFEPIDBASE_H
809a4336 19 #include "AliHFEpidBase.h"
20 #endif
21
75d81601 22class AliESDtrack;
809a4336 23class AliVParticle;
75d81601 24class TList;
25class TH2F;
809a4336 26
27class AliHFEpidTRD : public AliHFEpidBase{
28 public:
29 typedef enum{
30 kLQ = 0,
31 kNN = 1
32 } PIDMethodTRD_t;
dbe3abbe 33 enum{
34 kThreshParams = 24
35 };
75d81601 36 enum{
37 kHistTRDSigV1 = 0,
38 kHistTRDSigV2 = 1,
39 kHistOverallSpecies = 2
40 };
809a4336 41 AliHFEpidTRD(const Char_t *name);
42 AliHFEpidTRD(const AliHFEpidTRD &ref);
43 AliHFEpidTRD& operator=(const AliHFEpidTRD &ref);
44 virtual ~AliHFEpidTRD();
45
46 virtual Bool_t InitializePID();
47 virtual Int_t IsSelected(AliVParticle *track);
75d81601 48 virtual Bool_t HasQAhistos() const { return kTRUE; };
49
50 Double_t GetTRDSignalV1(AliESDtrack *track);
51 Double_t GetTRDSignalV2(AliESDtrack *track);
809a4336 52
809a4336 53 void SetPIDMethod(PIDMethodTRD_t method) { fPIDMethod = method; };
809a4336 54 protected:
55 void Copy(TObject &ref) const;
dbe3abbe 56 Double_t GetTRDthresholds(Double_t electronEff, Double_t p);
75d81601 57 Int_t GetMCpid(AliESDtrack *track);
dbe3abbe 58 void InitParameters();
75d81601 59 virtual void AddQAhistograms(TList *l);
dbe3abbe 60 void GetParameters(Double_t electronEff, Double_t *parameters);
75d81601 61
62 void FillHistogramsTRDSignalV1(Double_t signal, Double_t p, Int_t species);
63 void FillHistogramsTRDSignalV2(Double_t signal, Double_t p, Int_t species);
809a4336 64 private:
75d81601 65 static const Double_t fgkVerySmall; // Check for 0
809a4336 66 PIDMethodTRD_t fPIDMethod; // PID Method: 2D Likelihood or Neural Network
dbe3abbe 67 Double_t fThreshParams[kThreshParams]; // Threshold parametrisation
75d81601 68 TList *fContainer; // QA Histogram Container
809a4336 69 ClassDef(AliHFEpidTRD, 1) // TRD electron ID class
70};
71
72#endif