]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliHFEpidTRD.h
extra check on pointer
[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**************************************************************************/
50685501 15//
16// TRD PID Class
17// Does PID either on a x% electron efficiency basis or on dE/dx
18// For more information please check the implementation file
19//
75d81601 20#ifndef ALIHFEPIDTRD_H
21#define ALIHFEPIDTRD_H
809a4336 22
75d81601 23 #ifndef ALIHFEPIDBASE_H
809a4336 24 #include "AliHFEpidBase.h"
25 #endif
26
722347d8 27class AliAODTrack;
28class AliAODMCParticle;
75d81601 29class AliESDtrack;
722347d8 30class AliMCParticle;
809a4336 31class AliVParticle;
75d81601 32class TList;
33class TH2F;
809a4336 34
35class AliHFEpidTRD : public AliHFEpidBase{
36 public:
37 typedef enum{
38 kLQ = 0,
39 kNN = 1
40 } PIDMethodTRD_t;
dbe3abbe 41 enum{
42 kThreshParams = 24
43 };
75d81601 44 enum{
0792aa82 45 kHistTRDlikeBefore = 0,
46 kHistTRDlikeAfter = 1,
47 kHistTRDthresholds = 2,
48 kHistTRDSigV1 = 3,
49 kHistTRDSigV2 = 4,
50 kHistOverallSpecies = 5
75d81601 51 };
809a4336 52 AliHFEpidTRD(const Char_t *name);
53 AliHFEpidTRD(const AliHFEpidTRD &ref);
54 AliHFEpidTRD& operator=(const AliHFEpidTRD &ref);
55 virtual ~AliHFEpidTRD();
56
57 virtual Bool_t InitializePID();
722347d8 58 virtual Int_t IsSelected(AliHFEpidObject *track);
75d81601 59 virtual Bool_t HasQAhistos() const { return kTRUE; };
60
722347d8 61 Double_t GetTRDSignalV1(AliESDtrack *track, Int_t mcPID);
62 Double_t GetTRDSignalV2(AliESDtrack *track, Int_t mcPID);
809a4336 63
809a4336 64 void SetPIDMethod(PIDMethodTRD_t method) { fPIDMethod = method; };
809a4336 65 protected:
66 void Copy(TObject &ref) const;
722347d8 67 Int_t MakePIDesd(AliESDtrack *esdTrack, AliMCParticle *mcTrack);
68 Int_t MakePIDaod(AliAODTrack *aofTrack, AliAODMCParticle *aodMC);
dbe3abbe 69 Double_t GetTRDthresholds(Double_t electronEff, Double_t p);
75d81601 70 Int_t GetMCpid(AliESDtrack *track);
dbe3abbe 71 void InitParameters();
75d81601 72 virtual void AddQAhistograms(TList *l);
dbe3abbe 73 void GetParameters(Double_t electronEff, Double_t *parameters);
75d81601 74
0792aa82 75 void FillHistogramsLikelihood(Int_t whenFilled, Float_t p, Float_t elProb);
75d81601 76 void FillHistogramsTRDSignalV1(Double_t signal, Double_t p, Int_t species);
77 void FillHistogramsTRDSignalV2(Double_t signal, Double_t p, Int_t species);
809a4336 78 private:
75d81601 79 static const Double_t fgkVerySmall; // Check for 0
809a4336 80 PIDMethodTRD_t fPIDMethod; // PID Method: 2D Likelihood or Neural Network
dbe3abbe 81 Double_t fThreshParams[kThreshParams]; // Threshold parametrisation
75d81601 82 TList *fContainer; // QA Histogram Container
809a4336 83 ClassDef(AliHFEpidTRD, 1) // TRD electron ID class
84};
85
86#endif