LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliPIDCombined.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 11 9.1 %
Date: 2016-06-14 17:26:59 Functions: 1 15 6.7 %

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

Generated by: LCOV version 1.11