Remove obsolete AliTRDPartID
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 3 Aug 2006 09:45:05 +0000 (09:45 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 3 Aug 2006 09:45:05 +0000 (09:45 +0000)
TRD/AliTRDPartID.cxx [deleted file]
TRD/AliTRDPartID.h [deleted file]
TRD/TRDrecLinkDef.h
TRD/libTRDrec.pkg

diff --git a/TRD/AliTRDPartID.cxx b/TRD/AliTRDPartID.cxx
deleted file mode 100644 (file)
index 59a666b..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-#include "AliTRDPartID.h"
-#include "AliESDtrack.h"
-#include <TProfile.h>
-#include <TF1.h>
-#include <TFile.h>
-#include <TROOT.h>
-#include <TMath.h>
-#include <Riostream.h>
-
-ClassImp(AliTRDPartID)
-
-
-AliTRDPartID::AliTRDPartID()
-{
-// create a TRD particle identifier
-
-  fBetheBloch = NULL;
-  fRes = 0.2;
-  fRange = 3.;
-}
-
-AliTRDPartID::AliTRDPartID(TF1* betheBloch, Double_t res, Double_t range)
-{
-// create a TRD particle identifier with custom settings
-
-  fBetheBloch = betheBloch;
-  fRes = res;
-  fRange = range;
-}
-
-AliTRDPartID::~AliTRDPartID()
-{
-  if (fBetheBloch) delete fBetheBloch;
-}
-
-
-Bool_t AliTRDPartID::MakePID(AliESDtrack* track)
-{
-// This function calculates the "detector response" PID probabilities 
-
-  if (((track->GetStatus()&AliESDtrack::kTRDin) == 0) &&
-      ((track->GetStatus()&AliESDtrack::kTRDout) == 0)) return kFALSE;
-  Double_t momentum = track->GetP();
-  if (momentum < 0.001) return kFALSE;
-
-  // get the probability densities
-  Double_t pSum = 0;
-  for (Int_t iSpecies = 0; iSpecies < AliPID::kSPECIES; iSpecies++) {
-    Double_t expectedSignal = fBetheBloch->Eval(momentum/AliPID::ParticleMass(iSpecies));
-    Double_t expectedError = fRes * expectedSignal;
-    Double_t measuredSignal = track->GetTRDsignal();
-    if (TMath::Abs(measuredSignal - expectedSignal) > fRange * expectedError) {
-      track->SetTRDpid(iSpecies, 0.);
-    } else {
-      Double_t delta = (measuredSignal-expectedSignal) / expectedError;
-      const Double_t kInvSqr2Pi = 0.398942280401432703;
-      Double_t p = kInvSqr2Pi / expectedError * TMath::Exp(-delta*delta / 2.);
-      pSum += p;
-      track->SetTRDpid(iSpecies, p);
-    }
-  }
-
-  // "normalize" the probability densities
-  if (pSum <= 0) return kFALSE;
-  for (Int_t iSpecies = 0; iSpecies < AliPID::kSPECIES; iSpecies++) {
-    track->SetTRDpid(iSpecies, track->GetTRDpid(iSpecies) / pSum);
-  }
-
-  return kTRUE;
-}
-
-
-void AliTRDPartID::FitBetheBloch(TProfile* dEdxVsBetaGamma)
-{
-// determine the parameters of the bethe bloch function
-
-  if (fBetheBloch) delete fBetheBloch;
-  fBetheBloch = new TF1("fBetheBlochTRD", fcnBetheBloch, 0.001, 100000., 5);
-  fBetheBloch->SetParameters(1, 10, 0.00002, 2, 2);
-  fBetheBloch->SetParLimits(2, 0., 0.01);
-  fBetheBloch->SetParLimits(3, 0., 10.);
-  fBetheBloch->SetParLimits(4, 0., 10.);
-  fBetheBloch->SetFillStyle(0);
-  fBetheBloch->SetLineColor(kRed);
-  dEdxVsBetaGamma->Fit(fBetheBloch, "NIR", "goff", 0.6, dEdxVsBetaGamma->GetXaxis()->GetXmax());
-}
-
-TF1* AliTRDPartID::CreateBetheBloch(Double_t mass)
-{
-// create a function for expected dE/dx vs p
-
-  TF1* result = new TF1("betheBlochMass", fcnBetheBlochMass, 
-                       0.001, 100000., 6);
-  result->SetParameter(0, mass);
-  if (fBetheBloch) {
-    for (Int_t iPar = 0; iPar < 5; iPar++) {
-      result->SetParameter(iPar+1, fBetheBloch->GetParameter(iPar));
-      result->SetParError(iPar+1, fBetheBloch->GetParError(iPar));
-    }
-  }
-  result->SetFillStyle(0);
-  return result;
-}
-
-AliTRDPartID* AliTRDPartID::GetFromFile(const char* fileName)
-{
-// read an AliTRDPartID object from a file
-
-  TFile* pidFile = (TFile*) gROOT->GetListOfFiles()->FindObject(fileName);
-  Bool_t fileOpened = kFALSE;
-  if (!pidFile) {
-    pidFile = TFile::Open(fileName);
-    fileOpened = kTRUE;
-  }
-  if (!pidFile->IsOpen()) {
-    cerr << "Can't open " << fileName << " !\n";
-    if (fileOpened) delete pidFile;
-    return NULL;
-  }
-  gROOT->cd();
-
-  AliTRDPartID* trdPID = (AliTRDPartID*) pidFile->Get("AliTRDPartID")->Clone();
-  if (!trdPID) {
-    cerr << "Can't get PID object !\n";
-  } else {
-    trdPID->GetBetheBloch()->SetFunction(fcnBetheBloch);
-  }
-
-  if (fileOpened) {
-    pidFile->Close();
-    delete pidFile;
-  }
-
-  return trdPID;
-}
-
-Double_t AliTRDPartID::fcnBetheBloch(Double_t* xx, Double_t* par)
-{
-// parametrized bethe bloch function (xx[0] = beta*gamma = p/m):
-//
-//   p0/beta^p3 * [ p1 - log(p2 + 1/(beta*gamma)^p4) - beta^p3 ]
-//
-
-  Double_t betaGamma2 = xx[0] * xx[0];
-  Double_t beta2 = betaGamma2 / (1. + betaGamma2);
-  Double_t betaPar3 = TMath::Power(beta2, par[3]/2.);
-  return par[0]/betaPar3 * (par[1] - TMath::Log(TMath::Abs(par[2] + TMath::Power(betaGamma2, -par[4]/2.))) - betaPar3);
-}
-
-Double_t AliTRDPartID::fcnBetheBlochMass(Double_t* xx, Double_t* par)
-{
-// parametrized bethe bloch function:  xx[0] = p,  p0 = mass
-
-  Double_t betaGamma = xx[0] / par[0];
-  return fcnBetheBloch(&betaGamma, &par[1]);
-}
diff --git a/TRD/AliTRDPartID.h b/TRD/AliTRDPartID.h
deleted file mode 100644 (file)
index d0e2ac7..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef ALITRDPARTID_H
-#define ALITRDPARTID_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-#include <TObject.h>
-
-class AliESDtrack;
-class TProfile;
-class TF1;
-
-
-class AliTRDPartID: public TObject {
-  public: 
-    AliTRDPartID();
-    AliTRDPartID(TF1* betheBloch, Double_t res, Double_t range);
-    virtual ~AliTRDPartID();
-
-    Bool_t          MakePID(AliESDtrack* track);
-
-    void            FitBetheBloch(TProfile* dEdxVsBetaGamma);
-    inline TF1*     GetBetheBloch() {return fBetheBloch;};
-    TF1*            CreateBetheBloch(Double_t mass);
-
-    static AliTRDPartID* GetFromFile(const char* fileName = "pid.root");
-
-  private:
-    static Double_t fcnBetheBloch(Double_t* xx, Double_t* par);
-    static Double_t fcnBetheBlochMass(Double_t* xx, Double_t* par);
-
-    TF1*            fBetheBloch;   // parametrized bethe bloch function
-    Double_t        fRes;          // relative dE/dx resolution
-    Double_t        fRange;        // cut off in standard deviations
-
-    ClassDef(AliTRDPartID,1)   // TRD PID class
-};
-
-#endif
-
-
index fa37a11..be69e37 100644 (file)
@@ -25,7 +25,6 @@
 #pragma link C++ class  AliTRDtracker+;
 #pragma link C++ class  AliTRDseed+;
 
-#pragma link C++ class  AliTRDPartID+;
 #pragma link C++ class  AliTRDpidESD+;
 
 #pragma link C++ class  AliTRDReconstructor+;
index e6e9ac3..abecbd4 100644 (file)
@@ -10,7 +10,6 @@ SRCS= AliTRDpixel.cxx \
       AliTRDtrack.cxx \
       AliTRDtracker.cxx \
       AliTRDseed.cxx \
-      AliTRDPartID.cxx \
       AliTRDpidESD.cxx \
       AliTRDRecParam.cxx \
       AliTRDReconstructor.cxx