]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEERBase/AliPIDCombined.h
Introduced tree caching and async reading for data (ESD and AOD) and MC. An read...
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliPIDCombined.h
CommitLineData
fd21ec8d 1#ifndef ALIPIDCOMBINED_H\r
2#define ALIPIDCOMBINED_H\r
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
4 * See cxx source for full Copyright notice */\r
5\r
6//---------------------------------------------------------------//\r
7// Base class for combining PID response of //\r
8// of different detectors //\r
9// and compute Bayesian probabilities //\r
10// //\r
11// Origin: Pietro Antonioli, INFN-BO, pietro.antonioli@cern.ch //\r
12// //\r
13//---------------------------------------------------------------//\r
14\r
15\r
16\r
17#include <TNamed.h>\r
18#include <AliPID.h>\r
19#include <AliPIDResponse.h>\r
20#include <TH1F.h>\r
80f28562 21#include <TH2F.h>\r
fd21ec8d 22\r
23//class TH1;\r
24class AliPIDResponse;\r
25\r
26class AliPIDCombined : public TNamed {\r
27public:\r
28 AliPIDCombined();\r
29 AliPIDCombined(const TString& name, const TString& title);\r
30 virtual ~AliPIDCombined();\r
31\r
32 void SetDetectorMask(Int_t mask) {fDetectorMask=mask;}\r
33 Int_t GetDetectorMask() const {return fDetectorMask;}\r
34 void SetRejectMismatchMask(Int_t mask) {fRejectMismatchMask=mask;}\r
35 Int_t GetRejectMismatchMask() const {return fRejectMismatchMask;}\r
36 void SetEnablePriors(Bool_t flag) {fEnablePriors=flag;}\r
37 Bool_t GetEnablePriors() const {return fEnablePriors;}\r
38 void SetPriorDistribution(AliPID::EParticleType type,TH1F *prior);\r
39 // const TH1* GetPriorDistribution(AliPID::EParticleType type) const {return (TH1*)fPriorsDistributions[type];}\r
40 TH1* GetPriorDistribution(AliPID::EParticleType type) const {return (TH1*)fPriorsDistributions[type];}\r
80f28562 41 \r
42 void GetPriors(const AliVTrack *track,Double_t* p,const AliPIDResponse *response,UInt_t detUsed) const;\r
43 \r
44 void SetDefaultTPCPriors();\r
fd21ec8d 45 \r
46 UInt_t ComputeProbabilities(const AliVTrack *track, const AliPIDResponse *response, Double_t* bayesProbabilities) const;\r
47 void SetSelectedSpecies(Int_t selectedSpecies) {fSelectedSpecies = selectedSpecies;}\r
48 Int_t GetSelectedSpecies() const {return fSelectedSpecies;}\r
49\r
50protected:\r
80f28562 51 void GetPriors(const AliVTrack *track,Double_t* priors,Float_t centrality=-1) const;\r
fd21ec8d 52 void ComputeBayesProbabilities(Double_t* bayesProbabilities,const Double_t* probDensity, const Double_t* priors) const;\r
53 void SetCombinedStatus(const AliPIDResponse::EDetPidStatus status,UInt_t *mask, const AliPIDResponse::EDetCode bit, Double_t* p) const;\r
54\r
55private:\r
56 AliPIDCombined(const AliPIDCombined&);\r
57 AliPIDCombined &operator=(const AliPIDCombined&);\r
58\r
59 Int_t fDetectorMask; // Detectors included in combined pid\r
60 Int_t fRejectMismatchMask; // Detectors set return flat prob. if mismatch detected \r
61 Bool_t fEnablePriors; // Enable bayesian PID (if kFALSE priors set flat)\r
62 Int_t fSelectedSpecies; // Number of selected species to study\r
00a38d07 63 TH1F *fPriorsDistributions[AliPID::kSPECIESC]; // priors\r
80f28562 64 Bool_t fUseDefaultTPCPriors; // switch to use Defaul TPC Priors\r
00a38d07 65 static TH2F *fDefaultPriorsTPC[AliPID::kSPECIES]; // Default priors for TPC tracks\r
fd21ec8d 66\r
00a38d07 67 ClassDef(AliPIDCombined, 3); // Combined PID using priors\r
fd21ec8d 68};\r
69\r
70#endif\r