]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEERBase/AliPIDCombined.h
Fix crash that occurred after switching to git. In some circumstances (checkout a...
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliPIDCombined.h
index 446449fd03ee39afe98be5e72b32d36136c2f4c5..62e8de8f640bd79e88bb20326887c78ac143852e 100644 (file)
@@ -1,63 +1,74 @@
-#ifndef ALIPIDCOMBINED_H\r
-#define ALIPIDCOMBINED_H\r
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
- * See cxx source for full Copyright notice                               */\r
-\r
-//---------------------------------------------------------------//\r
-//        Base class for combining PID response of               //\r
-//        of different detectors                                 //\r
-//        and compute Bayesian probabilities                     //\r
-//                                                               //\r
-//   Origin: Pietro Antonioli, INFN-BO, pietro.antonioli@cern.ch //\r
-//                                                               //\r
-//---------------------------------------------------------------//\r
-\r
-\r
-\r
-#include <TNamed.h>\r
-#include <AliPID.h>\r
-#include <AliPIDResponse.h>\r
-#include <TH1F.h>\r
-\r
-//class TH1;\r
-class AliPIDResponse;\r
-\r
-class AliPIDCombined : public TNamed {\r
-public:\r
-  AliPIDCombined();\r
-  AliPIDCombined(const TString& name, const TString& title);\r
-  virtual ~AliPIDCombined();\r
-\r
-  void SetDetectorMask(Int_t mask) {fDetectorMask=mask;}\r
-  Int_t GetDetectorMask() const {return fDetectorMask;}\r
-  void SetRejectMismatchMask(Int_t mask) {fRejectMismatchMask=mask;}\r
-  Int_t GetRejectMismatchMask() const {return fRejectMismatchMask;}\r
-  void SetEnablePriors(Bool_t flag) {fEnablePriors=flag;}\r
-  Bool_t GetEnablePriors() const {return fEnablePriors;}\r
-  void SetPriorDistribution(AliPID::EParticleType type,TH1F *prior);\r
-  //  const TH1* GetPriorDistribution(AliPID::EParticleType type) const {return (TH1*)fPriorsDistributions[type];}\r
-  TH1* GetPriorDistribution(AliPID::EParticleType type)  const {return (TH1*)fPriorsDistributions[type];}\r
-       \r
-  UInt_t ComputeProbabilities(const AliVTrack *track, const AliPIDResponse *response, Double_t* bayesProbabilities) const;\r
-  void SetSelectedSpecies(Int_t selectedSpecies) {fSelectedSpecies = selectedSpecies;}\r
-  Int_t GetSelectedSpecies() const {return fSelectedSpecies;}\r
-\r
-protected:\r
-  void GetPriors(const AliVTrack *track,Double_t* priors) const;\r
-  void ComputeBayesProbabilities(Double_t* bayesProbabilities,const Double_t* probDensity, const Double_t* priors) const;\r
-  void SetCombinedStatus(const AliPIDResponse::EDetPidStatus status,UInt_t *mask, const AliPIDResponse::EDetCode bit, Double_t* p) const;\r
-\r
-private:\r
-  AliPIDCombined(const AliPIDCombined&);\r
-  AliPIDCombined &operator=(const AliPIDCombined&);\r
-\r
-  Int_t fDetectorMask;       // Detectors included in combined pid\r
-  Int_t fRejectMismatchMask; // Detectors set return flat prob. if mismatch detected \r
-  Bool_t fEnablePriors;      // Enable bayesian PID (if kFALSE priors set flat)\r
-  Int_t fSelectedSpecies;    // Number of selected species to study\r
-  TH1F *fPriorsDistributions[AliPID::kSPECIES+AliPID::kSPECIESLN]; // priors\r
-\r
-  ClassDef(AliPIDCombined,1);\r
-};\r
-\r
-#endif\r
+#ifndef ALIPIDCOMBINED_H
+#define ALIPIDCOMBINED_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//---------------------------------------------------------------//
+//        Base class for combining PID response of               //
+//        of different detectors                                 //
+//        and compute Bayesian probabilities                     //
+//                                                               //
+//   Origin: Pietro Antonioli, INFN-BO, pietro.antonioli@cern.ch //
+//                                                               //
+//---------------------------------------------------------------//
+
+
+
+#include <TNamed.h>
+#include "AliPID.h"
+#include "AliPIDResponse.h"
+#include <TH1F.h>
+#include <TH2F.h>
+
+//class TH1;
+class AliPIDResponse;
+
+class AliPIDCombined : public TNamed {
+public:
+  AliPIDCombined();
+  AliPIDCombined(const TString& name, const TString& title);
+  virtual ~AliPIDCombined();
+
+  void SetDetectorMask(Int_t mask) {fDetectorMask=mask;}
+  Int_t GetDetectorMask() const {return fDetectorMask;}
+  void SetRejectMismatchMask(Int_t mask) {fRejectMismatchMask=mask;}
+  Int_t GetRejectMismatchMask() const {return fRejectMismatchMask;}
+  void SetEnablePriors(Bool_t flag) {fEnablePriors=flag;}
+  Bool_t GetEnablePriors() const {return fEnablePriors;}
+  void SetPriorDistribution(AliPID::EParticleType type,TH1F *prior);
+  //  const TH1* GetPriorDistribution(AliPID::EParticleType type) const {return (TH1*)fPriorsDistributions[type];}
+  TH1* GetPriorDistribution(AliPID::EParticleType type)  const {return (TH1*)fPriorsDistributions[type];}
+  
+  void GetPriors(const AliVTrack *track,Double_t* p,const AliPIDResponse *response,UInt_t detUsed) const;
+  
+  void SetDefaultTPCPriors();
+       
+  UInt_t ComputeProbabilities(const AliVTrack *track, const AliPIDResponse *response, Double_t* bayesProbabilities) const;
+  void SetSelectedSpecies(Int_t selectedSpecies) {fSelectedSpecies = selectedSpecies;}
+  Int_t GetSelectedSpecies() const {return fSelectedSpecies;}
+
+  static Float_t GetTOFmismatchProb() {return fTOFmismProb;}
+
+protected:
+  void GetPriors(const AliVTrack *track,Double_t* priors,Float_t centrality=-1) const;
+  void ComputeBayesProbabilities(Double_t* bayesProbabilities,const Double_t* probDensity, const Double_t* priors, Double_t* probDensityMism=NULL) const;
+  void SetCombinedStatus(const AliPIDResponse::EDetPidStatus status,UInt_t *mask, const AliPIDResponse::EDetCode bit) const;
+  void SetCombinedStatus(const AliPIDResponse::EDetPidStatus status,UInt_t *mask, const AliPIDResponse::EDetCode bit, Double_t* p,const Float_t probMis) const;
+
+private:
+  AliPIDCombined(const AliPIDCombined&);
+  AliPIDCombined &operator=(const AliPIDCombined&);
+
+  Int_t fDetectorMask;       // Detectors included in combined pid
+  Int_t fRejectMismatchMask; // Detectors set return flat prob. if mismatch detected 
+  Bool_t fEnablePriors;      // Enable bayesian PID (if kFALSE priors set flat)
+  Int_t fSelectedSpecies;    // Number of selected species to study
+  TH1F *fPriorsDistributions[AliPID::kSPECIESC]; // priors
+  Bool_t fUseDefaultTPCPriors; // switch to use Defaul TPC Priors
+  static TH2F *fDefaultPriorsTPC[AliPID::kSPECIES]; // Default priors for TPC tracks
+  static Float_t fTOFmismProb; //TOF mismatch probability
+
+  ClassDef(AliPIDCombined, 3);   // Combined PID using priors
+};
+
+#endif