]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEERBase/AliTOFPIDResponse.h
Update timestamp for new data points simulation
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliTOFPIDResponse.h
index 4648cb6aa3063b24afbdaaf61dd746fa0592e840..4c2a4b2bfd3f78381e11ca30548dfd6c1f725899 100644 (file)
@@ -9,12 +9,15 @@
 //   Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
 //-------------------------------------------------------
 
-#include "TObject.h"
+#include <TObject.h>
+#include <TF1.h>
 #include "AliPID.h"
 #include "AliVParticle.h"
 #include "AliVTrack.h"
 
 class AliTOFPIDParams;
+class TH1F;
+class TH1D;
 
 class AliTOFPIDResponse : public TObject {
 public:
@@ -34,7 +37,10 @@ public:
   Double_t GetExpectedSigma(Float_t mom, Float_t tof, AliPID::EParticleType type) const;
   Double_t GetExpectedSignal(const AliVTrack *track, AliPID::EParticleType type) const;
 
-  Double_t GetMismatchProbability(Double_t p,Double_t mass) const;
+  Double_t GetMismatchProbability(Double_t time,Double_t eta) const;
+
+  static Double_t GetTailRandomValue(Float_t pt=1.0,Float_t eta=0.0,Float_t time=0.0,Float_t addmism=0.0); // generate a random value to add a tail to TOF time (for MC analyses), addmism = additional mismatch in percentile
+  static Double_t GetMismatchRandomValue(Float_t eta); // generate a random value for mismatched tracks (for MC analyses)
 
   void     SetT0event(Float_t *t0event){for(Int_t i=0;i < fNmomBins;i++) fT0event[i] = t0event[i];};
   void     SetT0resolution(Float_t *t0resolution){for(Int_t i=0;i < fNmomBins;i++) fT0resolution[i] = t0resolution[i];};
@@ -59,6 +65,11 @@ public:
   // Tracking resolution for expected times
   void SetTrackParameter(Int_t ip,Float_t value){if(ip>=0 && ip < 4) fPar[ip] = value;};
   Float_t GetTrackParameter(Int_t ip){if(ip>=0 && ip < 4) return fPar[ip]; else return -1.0;};
+  Int_t GetTOFchannel(AliVParticle *trk) const;
+
+  Float_t GetTOFtail() {if(fTOFtailResponse) return fTOFtailResponse->GetParameter(3);else return -1;};
+  void    SetTOFtail(Float_t tail);
+  void    SetTOFtailAllPara(Float_t mean,Float_t tail);
 
  private:
   Double_t fSigma;        // intrinsic TOF resolution
@@ -76,7 +87,11 @@ public:
   Int_t fMaskT0[fNmomBins]; // mask withthe T0 used (0x1=T0-TOF,0x2=T0A,0x3=TOC) for p bins
   Float_t fPar[4]; // parameter for expected times resolution
 
-  ClassDef(AliTOFPIDResponse,4)   // TOF PID class
+  static TF1 *fTOFtailResponse; // function to generate a TOF tail
+  static TH1F *fHmismTOF; // TOF mismatch distribution
+  static TH1D *fHchannelTOFdistr;// TOF channel distance distribution
+
+  ClassDef(AliTOFPIDResponse,5)   // TOF PID class
 };
 
 #endif