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
6 //---------------------------------------------------------------//
\r
7 // Base class for combining PID response of //
\r
8 // of different detectors //
\r
9 // and compute Bayesian probabilities //
\r
11 // Origin: Pietro Antonioli, INFN-BO, pietro.antonioli@cern.ch //
\r
13 //---------------------------------------------------------------//
\r
19 #include <AliPIDResponse.h>
\r
23 class AliPIDResponse;
\r
25 class AliPIDCombined : public TNamed {
\r
28 AliPIDCombined(const TString& name, const TString& title);
\r
29 virtual ~AliPIDCombined();
\r
31 void SetDetectorMask(Int_t mask) {fDetectorMask=mask;}
\r
32 Int_t GetDetectorMask() const {return fDetectorMask;}
\r
33 void SetRejectMismatchMask(Int_t mask) {fRejectMismatchMask=mask;}
\r
34 Int_t GetRejectMismatchMask() const {return fRejectMismatchMask;}
\r
35 void SetEnablePriors(Bool_t flag) {fEnablePriors=flag;}
\r
36 Bool_t GetEnablePriors() const {return fEnablePriors;}
\r
37 void SetPriorDistribution(AliPID::EParticleType type,TH1F *prior);
\r
38 // const TH1* GetPriorDistribution(AliPID::EParticleType type) const {return (TH1*)fPriorsDistributions[type];}
\r
39 TH1* GetPriorDistribution(AliPID::EParticleType type) const {return (TH1*)fPriorsDistributions[type];}
\r
41 UInt_t ComputeProbabilities(const AliVTrack *track, const AliPIDResponse *response, Double_t* bayesProbabilities) const;
\r
42 void SetSelectedSpecies(Int_t selectedSpecies) {fSelectedSpecies = selectedSpecies;}
\r
43 Int_t GetSelectedSpecies() const {return fSelectedSpecies;}
\r
46 void GetPriors(const AliVTrack *track,Double_t* priors) const;
\r
47 void ComputeBayesProbabilities(Double_t* bayesProbabilities,const Double_t* probDensity, const Double_t* priors) const;
\r
48 void SetCombinedStatus(const AliPIDResponse::EDetPidStatus status,UInt_t *mask, const AliPIDResponse::EDetCode bit, Double_t* p) const;
\r
51 AliPIDCombined(const AliPIDCombined&);
\r
52 AliPIDCombined &operator=(const AliPIDCombined&);
\r
54 Int_t fDetectorMask; // Detectors included in combined pid
\r
55 Int_t fRejectMismatchMask; // Detectors set return flat prob. if mismatch detected
\r
56 Bool_t fEnablePriors; // Enable bayesian PID (if kFALSE priors set flat)
\r
57 Int_t fSelectedSpecies; // Number of selected species to study
\r
58 TH1F *fPriorsDistributions[AliPID::kSPECIES+AliPID::kSPECIESLN]; // priors
\r
60 ClassDef(AliPIDCombined,1);
\r