Particle, Particle Cut moved to ANALYSIS
authorskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Jun 2004 09:47:01 +0000 (09:47 +0000)
committerskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Jun 2004 09:47:01 +0000 (09:47 +0000)
HBTAN/AliHBTParticle.cxx [deleted file]
HBTAN/AliHBTParticle.h [deleted file]
HBTAN/AliHBTParticleCut.cxx [deleted file]
HBTAN/AliHBTParticleCut.h [deleted file]
HBTAN/HBTAnalysisLinkDef.h
HBTAN/libHBTAN.pkg

diff --git a/HBTAN/AliHBTParticle.cxx b/HBTAN/AliHBTParticle.cxx
deleted file mode 100644 (file)
index 2760b5c..0000000
+++ /dev/null
@@ -1,417 +0,0 @@
-#include "AliHBTParticle.h"
-//___________________________________________________________
-/////////////////////////////////////////////////////////////
-//
-// class AliHBTParticle
-//
-// Ali HBT Particle: simplified class TParticle
-// Simplified in order to minimize the size of object
-//  - we want to keep a lot of such a objects in memory
-// Additionaly adjusted for HBT Analysies purposes
-// + pointer to Track Points
-// + pointer to Cluster Map(s)
-//
-// Piotr.Skowronski@cern.ch
-//
-/////////////////////////////////////////////////////////////
-#include <TParticle.h>
-#include "AliHBTTrackPoints.h"
-#include "AliHBTClusterMap.h"
-
-ClassImp(AliHBTParticle)
-
-Int_t AliHBTParticle::fgDebug = 0;
-//______________________________________________________________________________
-AliHBTParticle::AliHBTParticle():  
- fPdgIdx(0), fIdxInEvent(0),fNPids(0),fPids(0x0),fPidProb(0x0),
- fCalcMass(0),fPx(0), fPy(0),fPz(0),fE(0), fVx(0), fVy(0),fVz(0),fVt(0),
- fTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0)
-{//empty particle
-}
-//______________________________________________________________________________
-
-AliHBTParticle::AliHBTParticle(Int_t pdg, Int_t idx,
-               Double_t px, Double_t py, Double_t pz, Double_t etot,
-               Double_t vx, Double_t vy, Double_t vz, Double_t time):  
-  fPdgIdx(0), fIdxInEvent(idx),fNPids(0),fPids(0x0),fPidProb(0x0),
-  fCalcMass(0), 
-  fPx(px), fPy(py),fPz(pz),fE(etot), 
-  fVx(vx), fVy(vy),fVz(vz),fVt(time),
-  fTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0)
-{
-//mormal constructor
-  SetPdgCode(pdg);
-  if (GetPDG()) {
-     fCalcMass    = GetPDG()->Mass();
-  } else {
-     Double_t a2 = fE*fE -fPx*fPx -fPy*fPy -fPz*fPz;
-     if (a2 >= 0) fCalcMass =  TMath::Sqrt(a2);
-     else         fCalcMass = -TMath::Sqrt(-a2);
-  }
-}
-//______________________________________________________________________________
-
-AliHBTParticle::AliHBTParticle(Int_t pdg, Float_t prob, Int_t idx, 
-                               Double_t px, Double_t py, Double_t pz, Double_t etot,
-                               Double_t vx, Double_t vy, Double_t vz, Double_t time):
-  fPdgIdx(0), fIdxInEvent(idx),fNPids(0),fPids(0x0),fPidProb(0x0),
-  fCalcMass(0), 
-  fPx(px), fPy(py),fPz(pz),fE(etot), 
-  fVx(vx), fVy(vy),fVz(vz),fVt(time),
-  fTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0)
-{
-//mormal constructor
-  SetPdgCode(pdg,prob);
-  if (GetPDG()) {
-     fCalcMass    = GetPDG()->Mass();
-  } else {
-     Double_t a2 = fE*fE -fPx*fPx -fPy*fPy -fPz*fPz;
-     if (a2 >= 0) fCalcMass =  TMath::Sqrt(a2);
-     else         fCalcMass = -TMath::Sqrt(-a2);
-  }
-}
-//______________________________________________________________________________
-AliHBTParticle::AliHBTParticle(const AliHBTParticle& in):
-   TObject(in),
-   fPdgIdx(in.fPdgIdx), fIdxInEvent(in.fIdxInEvent),
-   fNPids(in.fNPids),fPids(new Int_t[fNPids]),fPidProb(new Float_t[fNPids]),
-   fCalcMass(in.GetCalcMass()),
-   fPx(in.Px()),fPy(in.Py()),fPz(in.Pz()),fE(in.Energy()), 
-   fVx(in.Vx()),fVy(in.Vy()),fVz(in.Vz()),fVt(in.T()),
-   fTrackPoints(0x0), fITSTrackPoints(0x0), fClusterMap(0x0)
-{
- //Copy constructor
- for(Int_t i = 0; i<fNPids; i++)
-  {
-    fPids[i] =  in.fPids[i];
-    fPidProb[i] = in.fPidProb[i];
-  }
- if (in.fTrackPoints)
-   fTrackPoints = (AliHBTTrackPoints*)in.fTrackPoints->Clone();
- if (in.fITSTrackPoints)
-   fITSTrackPoints = (AliHBTTrackPoints*)in.fITSTrackPoints->Clone();
- if (in.fClusterMap)
-   fClusterMap = (AliHBTClusterMap*)in.fClusterMap->Clone();
-}
-
-//______________________________________________________________________________
-AliHBTParticle::AliHBTParticle(const TParticle &p,Int_t idx):
-   fPdgIdx(0), fIdxInEvent(idx),
-   fNPids(0),fPids(0x0),fPidProb(0x0),
-   fCalcMass(p.GetCalcMass()),
-   fPx(p.Px()),fPy(p.Py()),fPz(p.Pz()),fE(p.Energy()), 
-   fVx(p.Vx()),fVy(p.Vy()),fVz(p.Vz()),fVt(p.T()),
-   fTrackPoints(0x0), fITSTrackPoints(0x0), fClusterMap(0x0)
-{
- //all copied in the initialization
- SetPdgCode(p.GetPdgCode());
-}
-//______________________________________________________________________________
-
-AliHBTParticle::~AliHBTParticle()
-{
-//dtor  
-  delete [] fPids;
-  delete [] fPidProb;
-  delete fTrackPoints;
-  delete fITSTrackPoints;
-  delete fClusterMap;
-}
-//______________________________________________________________________________
-
-AliHBTParticle& AliHBTParticle::operator=(const AliHBTParticle& in)
-{
-//assigment operator
-  
-  fNPids = in.fNPids;
-  delete [] fPids;
-  delete [] fPidProb;
-  Int_t* fPids = new Int_t[fNPids];
-  Float_t* fPidProb = new Float_t[fNPids];
-  for (Int_t i = 0; i < fNPids;i++)
-   {
-     fPids[i]    = in.fPids[i];
-     fPidProb[i] = in.fPidProb[i];
-   }
-   
-  fPdgIdx = in.fPdgIdx; 
-  fIdxInEvent = in.fIdxInEvent;  
-  fCalcMass = in.GetCalcMass();
-  fPx = in.Px();
-  fPy = in.Py();
-  fPz = in.Pz();
-  fE = in.Energy(); 
-  fVx = in.Vx();
-  fVy = in.Vy();
-  fVz = in.Vz();
-  fVt = in.T();
-  
-  delete fTrackPoints;
-  fTrackPoints = (in.fTrackPoints)?(AliHBTTrackPoints*)in.fTrackPoints->Clone():0x0;
-
-  delete fITSTrackPoints;
-  fITSTrackPoints = (in.fTrackPoints)?(AliHBTTrackPoints*)in.fITSTrackPoints->Clone():0x0;
-  
-  delete fClusterMap;
-  fClusterMap =  (in.fClusterMap)?(AliHBTClusterMap*)in.fClusterMap->Clone():0x0;
-  
-  return *this;
-}
-//______________________________________________________________________________
-
-void AliHBTParticle::SetPdgCode(Int_t pdg,Float_t prob)
-{
-  SetPIDprobability(pdg,prob);
-  fPdgIdx = GetPidSlot(pdg);
-}
-
-//______________________________________________________________________________
-void AliHBTParticle::SetPIDprobability(Int_t pdg, Float_t prob)
-{
-//Sets another pdg code and corresponding probabilty
-//Ids are set in decreasing order
-//Check if total prbaility is not ivercoming unity is performed
-//in case, warning is printed
-  if (fgDebug > 9) Info("SetPIDprobability","Setting PID %d prob %f",pdg,prob);
-
-  Float_t totprob = 0.0;//sums up probabilities
-  Int_t idx = GetPidSlot(pdg);
-  Int_t i;
-  if (idx > -1) 
-   {
-     fPidProb[idx] = prob;
-     for (i = 0; i < fNPids;i++) totprob+=fPidProb[i];
-     if (totprob > (1.0+0.000001))
-       {
-         Warning("SetPIDprobability","Total probability greater than unity (%f)",totprob);
-       }
-     if (fgDebug > 9) 
-      {
-        Info("SetPIDprobability","Current Total probability: %f",totprob);
-      }
-     return;
-   }
-    
-  Int_t currentpid = GetPdgCode();
-  fNPids++;
-  Float_t* aPidProbNew = new Float_t[fNPids];
-  Int_t* aPidsNew = new Int_t[fNPids];
-  
-  for (i = 0; i < fNPids-1;i++)//find a slot
-   {
-     if ( fPidProb[i] > prob)
-      {
-        if (fgDebug>9) Info("SetPID","Copying entry %d",i);
-        aPidProbNew[i] = fPidProb[i];
-        aPidsNew[i] = fPids[i];
-        totprob+=fPidProb[i];
-      }
-     else break;
-   }
-
-  if (fgDebug > 9) Info("SetPID","Setting new PID on entry %d",i);
-  aPidProbNew[i] = prob;
-  aPidsNew[i] = pdg;
-  totprob+=prob;
-  
-
-  for (Int_t j = fNPids-1; j > i ;j--)//copy rest of old araays 
-   {
-     if (fgDebug > 9) Info("SetPID","Copying from old entry %d to new entry %d",j-1,j);
-     aPidProbNew[j] = fPidProb[j-1];
-     aPidsNew[j] = fPids[j-1];
-     totprob+=fPidProb[j-1];
-   }
-
-  delete [] fPidProb;
-  delete [] fPids;
-  
-  fPidProb = aPidProbNew;
-  fPids = aPidsNew;
-  
-  fPdgIdx = GetPidSlot(currentpid);
-  if (fPdgIdx == -1) fPdgIdx = 0;
-  
-  if (totprob > (1.0+0.000001))//place for numerical error
-   {
-     Warning("SetId","Total probability is greater than unity (%f)!!!",totprob);
-     Print();
-   }
-}
-//______________________________________________________________________________
-
-Float_t AliHBTParticle::GetPIDprobability(Int_t pdg) const
-{
-//Returns probability that this particle is the type of pdg
-  Int_t idx = GetPidSlot(pdg);
-  if (idx < 0) return 0.0;//such pid was not specified for this particle
-  return fPidProb[idx];
-}
-//______________________________________________________________________________
-
-const Char_t* AliHBTParticle::GetName() const 
-{
-  //returns name of this particle 
-   static char def[4] = "XXX";
-   const TParticlePDG *ap = TDatabasePDG::Instance()->GetParticle(GetPdgCode());
-   if (ap) return ap->GetName();
-   else    return def;
-}
-//______________________________________________________________________________
-
-Int_t AliHBTParticle::GetPidSlot(Int_t pdg) const
-{
- //returns position of the given PID in fPids (and fPidProb) array.
- if (fPids == 0x0) return -1;
- for (Int_t i = 0; i< fNPids; i++)
-  {
-   if (fPids[i] == pdg) return i;
-  }
- return -1;
-}
-//______________________________________________________________________________
-
-Int_t AliHBTParticle::GetNthPid(Int_t idx) const
-{
-  //returns PID sitting on slot idx in fPids
-  if ( (idx < 0) || (idx >= fNPids) )
-   {
-     Error("GetNthPid","Out Of Bounds");
-     return 0;
-   }
-  return fPids[idx];
-}
-//______________________________________________________________________________
-
-Float_t AliHBTParticle::GetNthPidProb(Int_t idx) const
-{
-  //returns PID sitting on slot idx in fPidProb
-  if ( (idx < 0) || (idx >= fNPids) )
-   {
-     Error("GetNthPid","Out Of Bounds");
-     return 0;
-   }
-  return fPidProb[idx];
-}
-//______________________________________________________________________________
-
-void AliHBTParticle::Print() const
-{
-//prints information about particle
-  printf("____________________________________________________\n");
-  printf("Idx: %d  PID: %d  Name: ",fIdxInEvent,GetPdgCode());
-  TParticlePDG *pdgp = TDatabasePDG::Instance()->GetParticle(GetPdgCode());
-  if (pdgp)
-   {
-     printf("%s Mass: %f\n",pdgp->GetName(),pdgp->Mass());
-   }
-  else
-   {
-     printf("Not known\n");
-   }
-  
-  printf("Px: %+f Py: %+f Pz: %+f E: %+f Calculated Mass: %f\nVx: %+f Vy: %+f Vz: %+f T: %+f\n",
-          Px(),Py(),Pz(),Energy(),GetCalcMass(),Vx(),Vy(),Vz(),T());
-
-  for (Int_t i = 0; i < fNPids; i++)
-   {
-     printf("# %d  PID: %d  Probability %f name ",i,fPids[i],fPidProb[i]);
-     const TParticlePDG *ap = TDatabasePDG::Instance()->GetParticle(fPids[i]);
-     if (ap)
-      {
-        printf("%s Mass %f\n",ap->GetName(),ap->Mass());
-      }
-     else
-      {
-        printf("Not known\n");
-      }
-   }
-}
-
-//______________________________________________________________________________
-
-//void AliHBTParticle::Streamer(TBuffer &b)
-//{
-//     // Stream all objects in the array to or from the I/O buffer.
-//   UInt_t R__s, R__c;
-//   Int_t i;
-//   if (b.IsReading()) 
-//    {
-//      delete [] fPids;
-//      delete [] fPidProb;
-//      
-//      Version_t v = b.ReadVersion(&R__s, &R__c);
-//      if (v == 1)
-//       {
-//         AliHBTParticle::Class()->ReadBuffer(b, this);
-//      }
-//      else
-//       {
-//        TObject::Streamer(b);
-//       b >> fPdgIdx;
-//       b >> fIdxInEvent;
-//       
-//       b >> fNPids;
-//       Int_t* fPids = new Int_t[fNPids];
-//        Float_t* fPidProb = new Float_t[fNPids];
-//        for (i = 0;i<fNPids;i++) 
-//         {
-//           b >> fPids[i];
-//         }
-//        for (i = 0;i<fNPids;i++) 
-//        {
-//          b >> fPidProb[i];
-//         }
-//        b >> fCalcMass;
-//
-//        b >> fPx;
-//       b >> fPy;
-//       b >> fPz;
-//        b >> fE;
-//
-//       b >> fVx;
-//        b >> fVy;
-//        b >> fVz;
-//       b >> fVt;
-//       Info("Streamer","Read data");
-//        Print();
-//       }
-//
-//      b.CheckByteCount(R__s, R__c,AliHBTParticle::IsA());
-//    } 
-//  else 
-//   {
-//     R__c = b.WriteVersion(AliHBTParticle::IsA(), kTRUE);
-//     TObject::Streamer(b);
-//     Info("Streamer","Read data");
-//     Print();
-//
-//     b << fPdgIdx;
-//     b << fIdxInEvent;
-//     b << fNPids;
-//     for (i = 0;i<fNPids;i++) 
-//      {
-//        b << fPids[i];
-//      }
-//      {
-//      {
-//     for (i = 0;i<fNPids;i++) 
-//     {
-//        b << fPidProb[i];
-//      }
-//     b << fCalcMass;
-//
-//     b << fPx;
-//     b << fPy;
-//     b << fPz;
-//     b << fE;
-//
-//     b << fVx;
-//     b << fVy;
-//     b << fVz;
-//     b << fVt;
-//
-//    b.SetByteCount(R__c, kTRUE);
-//   }
-//}
diff --git a/HBTAN/AliHBTParticle.h b/HBTAN/AliHBTParticle.h
deleted file mode 100644 (file)
index b0195e8..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-#ifndef ALIHBTPARTICLE_H
-#define ALIHBTPARTICLE_H
-//___________________________________________________________
-/////////////////////////////////////////////////////////////
-//
-// class AliHBTParticle
-//
-// Ali HBT Particle: simplified class TParticle
-// Simplified in order to minimize the size of object
-//  - we want to keep a lot of such a objects in memory
-// Additionaly adjusted for HBT Analysies purposes
-// + pointer to Track Points
-// + pointer to Cluster Map(s)
-//
-// Piotr.Skowronski@cern.ch
-//
-/////////////////////////////////////////////////////////////
-
-#include <TObject.h>
-#include <TLorentzVector.h>
-#include <TMath.h>
-#include <TDatabasePDG.h>
-
-
-class TParticle;
-class AliHBTTrackPoints;
-class AliHBTClusterMap;
-
-class AliHBTParticle : public TObject
-{
-public:
-                                // ****** constructors and destructor
-  AliHBTParticle();
-  AliHBTParticle(const AliHBTParticle& in); 
-  AliHBTParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot,
-                 Double_t vx, Double_t vy, Double_t vz, Double_t time);
-
-  AliHBTParticle(Int_t pdg, Float_t prob, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot,
-                 Double_t vx, Double_t vy, Double_t vz, Double_t time);
-
-  AliHBTParticle(const TParticle& p,Int_t idx);
-
-  virtual ~AliHBTParticle();
-  
-  AliHBTParticle& operator=(const AliHBTParticle& in); 
-  
-  void           SetPIDprobability(Int_t pdg, Float_t prob = 1.0);
-  Float_t        GetPIDprobability(Int_t pdg) const;
-  
-  Int_t          GetPdgCode      () const { return (fPids)?fPids[fPdgIdx]:0;}
-  Int_t          GetPid          () const { return GetPdgCode();}
-  Float_t        GetPidProb      () const { return (fPidProb)?fPidProb[fPdgIdx]:0;}
-  
-  Int_t          GetUID          () const { return fIdxInEvent;}
-  Int_t          GetNumberOfPids () const { return fNPids;}
-  Int_t          GetNthPid         (Int_t idx) const;
-  Float_t        GetNthPidProb     (Int_t idx) const;
-      
-  void           SetPdgCode(Int_t pdg, Float_t prob = 1.0);
-  Double_t       GetCalcMass     () const { return fCalcMass; }
-  Double_t       GetMass         ()       { return (GetPDG())?GetPDG()->Mass():-1.;}
-
-  TParticlePDG*  GetPDG          (){return TDatabasePDG::Instance()->GetParticle(GetPdgCode());}
-
-  Int_t          Beauty          ()  { return GetPDG()->Beauty(); }
-  Int_t          Charm           ()  { return GetPDG()->Charm(); }
-  Int_t          Strangeness     ()  { return GetPDG()->Strangeness();}
-  void ProductionVertex(TLorentzVector &v) const { v.SetXYZT(fVx,fVy,fVz,fVt);}
-
-
-  Double_t         Vx    () const { return fVx;}
-  Double_t         Vy    () const { return fVy;}
-  Double_t         Vz    () const { return fVz;}
-  Double_t         T     () const { return fVt;}
-
-  Double_t         Px    () const { return fPx; } //X coordinate of the momentum
-  Double_t         Py    () const { return fPy; } //Y coordinate of the momentum
-  Double_t         Pz    () const { return fPz; } //Z coordinate of the momentum
-  Double_t         P     () const                 //momentum
-    { return TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz); }
-  
-  void Momentum(TLorentzVector &v) const { v.SetPxPyPzE(fPx,fPy,fPz,fE);}
-    
-  Double_t         Pt    () const  //transverse momentum
-    { return TMath::Sqrt(fPx*fPx+fPy*fPy); }
-  Double_t         Energy() const { return fE; }
-  
-                                   //Pseudo Rapidity
-  Double_t         Eta   () const { if (P() != fPz) return 0.5*TMath::Log((P()+fPz)/(P()-fPz)); 
-                                    else return 1.e30;}
-
-                                   //Rapidity
-  Double_t         Y     () const { if (fE  != fPz) return 0.5*TMath::Log((fE+fPz)/(fE-fPz));
-                                    else return 1.e30;}
-
-  Double_t         Phi   () const { return TMath::Pi()+TMath::ATan2(-fPy,-fPx); }
-
-  Double_t         Theta () const { return (fPz==0)?TMath::PiOver2():TMath::ACos(fPz/P()); }
-
-  // setters
-
-  void           SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e)
-                             {fPx=px; fPy=py; fPz=pz; fE=e;}
-  void           SetMomentum(const TLorentzVector& p)
-                             {SetMomentum(p.Px(),p.Py(),p.Pz(),p.Energy());}
-
-  void           SetProductionVertex(Double_t vx, Double_t vy, Double_t vz, Double_t t)
-                             {fVx=vx; fVy=vy; fVz=vz; fVt=t;}
-  void           SetProductionVertex(const TLorentzVector& v)
-                             {SetProductionVertex(v.X(),v.Y(),v.Z(),v.T());}
-  void           SetCalcMass(Double_t mass) {fCalcMass = mass;}
-  
-  void           SetUID(Int_t id){fIdxInEvent = id;}
-  
-  const Char_t*  GetName() const; 
-  void           Print() const;
-  
-  void           SetTrackPoints(AliHBTTrackPoints* tpts){fTrackPoints = tpts;}
-  AliHBTTrackPoints* GetTrackPoints() const {return fTrackPoints;}
-
-  void           SetITSTrackPoints(AliHBTTrackPoints* tpts){fITSTrackPoints = tpts;}
-  AliHBTTrackPoints* GetITSTrackPoints() const {return fITSTrackPoints;}
-  
-  void           SetClusterMap(AliHBTClusterMap* cm){fClusterMap = cm;}
-  AliHBTClusterMap* GetClusterMap() const {return fClusterMap;}
-  
-  static void    SetDebug(Int_t dbg=1){fgDebug=dbg;}
-  static Int_t   GetDebug(){return fgDebug;}
-  
-protected:
-  Int_t          GetPidSlot(Int_t pdg) const;//returns position of the given PID in fPids (and fPidProb) array.
-
-private:
-  Char_t         fPdgIdx;               // index of PDG code of the particle in fPids
-  Int_t          fIdxInEvent;           // index of a particle: the same particle can appear in the event
-                                        //  many times with different pid's. Idx allows to check that they are the same particles
-  Int_t          fNPids;                // number of non-zero proboble Pids
-  Int_t         *fPids;                 // [fNPids] Array with PIDs
-  Float_t       *fPidProb;              // [fNPids] PIDs probabilities
-  Double_t       fCalcMass;             // Calculated mass
-
-  Double_t       fPx;                   // x component of momentum
-  Double_t       fPy;                   // y component of momentum
-  Double_t       fPz;                   // z component of momentum
-  Double_t       fE;                    // Energy
-
-  Double_t       fVx;                   // x of production vertex
-  Double_t       fVy;                   // y of production vertex
-  Double_t       fVz;                   // z of production vertex
-  Double_t       fVt;                   // t of production vertex
-
-  AliHBTTrackPoints* fTrackPoints;      // track positions along trajectory - used by anti-merging cut 
-  AliHBTTrackPoints* fITSTrackPoints;   // track position at first pixels
-  
-  AliHBTClusterMap*  fClusterMap;       // bit map of cluters occupation; 1 if has cluter on given layer/padrow/...
-    
-  static Int_t   fgDebug; //debug printout level
-  ClassDef(AliHBTParticle,4)  // TParticle vertex particle information
-};
-
-#endif
diff --git a/HBTAN/AliHBTParticleCut.cxx b/HBTAN/AliHBTParticleCut.cxx
deleted file mode 100644 (file)
index 2044306..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-#include "AliHBTParticleCut.h"
-//__________________________________________________________________________
-////////////////////////////////////////////////////////////////////////////
-//                                                                        //
-// class AliHBTParticleCut                                                //
-//                                                                        //
-// Classes for single particle cuts                                       //
-// User should use only AliHBTParticleCut, eventually                     //
-// EmptyCut which passes all particles                                    //
-// There is all interface for setting cuts on all particle properties     //
-// The main method is Pass - which returns                                //
-//         True to reject particle                                        //
-//         False in case it meets all the criteria of the given cut       //
-//                                                                        //
-// User should create (and also destroy) cuts himself                     // 
-// and then pass them to the Analysis And Function by a proper method     //
-//                                                                        //
-//                                                                        //
-// more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html   //
-// resonsible: Piotr Skowronski@cern.ch                                   //
-//                                                                        //
-////////////////////////////////////////////////////////////////////////////
-
-#include <Riostream.h>
-
-
-ClassImp(AliHBTParticleCut)
-const Int_t AliHBTParticleCut::fgkMaxCuts = 50;
-/******************************************************************/
-
-AliHBTParticleCut::AliHBTParticleCut():
- fCuts(new AliHbtBaseCut* [fgkMaxCuts]),//last property in the property enum => defines number of properties
- fNCuts(0),
- fPID(0)
-{
-  //default ctor
-}
-/******************************************************************/
-
-AliHBTParticleCut::AliHBTParticleCut(const AliHBTParticleCut& in):
- TObject(in)
-{
-  //cpy ctor
-  fCuts = new AliHbtBaseCut* [fgkMaxCuts];//last property in the property
-                                         //property enum => defines number of properties
-  fNCuts = in.fNCuts;
-  fPID  = in.fPID;
-  for (Int_t i = 0;i<fNCuts;i++)
-   {
-     fCuts[i] = (AliHbtBaseCut*)in.fCuts[i]->Clone();//create new object (clone) and rember pointer to it
-   }
-}
-/******************************************************************/
-AliHBTParticleCut& AliHBTParticleCut::operator=(const AliHBTParticleCut& in)
-{
-  //assigment operator
-  Info("operator=","operator=operator=operator=operator=\noperator=operator=operator=operator=");
-  for (Int_t i = 0;i<fNCuts;i++)
-   {
-     delete fCuts[i];
-   }
-
-  fNCuts = in.fNCuts;
-  fPID  = in.fPID;
-  for (Int_t i = 0;i<fNCuts;i++)
-   {
-     fCuts[i] = (AliHbtBaseCut*)in.fCuts[i]->Clone();//create new object (clone) and rember pointer to it
-   }
-  return *this;
-}    
-
-/******************************************************************/
-AliHBTParticleCut::~AliHBTParticleCut()
-{
-  //dtor
-  for (Int_t i = 0;i<fNCuts;i++)
-   {
-     delete fCuts[i];
-   }
-  delete []fCuts;
-} 
-/******************************************************************/
-
-Bool_t AliHBTParticleCut::Pass(AliHBTParticle* p) const
-{
-//method checks all the cuts that are set (in the list)
-//If any of the baseCuts rejects particle False(rejection) is returned
-
- if(!p) 
-  {
-    Warning("Pass()","No Pasaran! We never accept NULL pointers");
-    return kTRUE;
-  }
- if( (p->GetPdgCode() != fPID) && ( fPID != 0)) return kTRUE;
- for (Int_t i = 0;i<fNCuts;i++)
-   {
-    if ( (fCuts[i]->Pass(p)) ) return kTRUE; //if one of the cuts rejects, then reject
-   }
-  return kFALSE;
-}
-/******************************************************************/
-
-void AliHBTParticleCut::AddBasePartCut(AliHbtBaseCut* basecut)
-{
-  //adds the base pair cut (cut on one value)
-   if (!basecut) return;
-   if( fNCuts == (fgkMaxCuts-1) )
-    {
-      Warning("AddBasePartCut","Not enough place for another cut");
-      return;
-    }
-   fCuts[fNCuts++]=basecut;
-}
-
-/******************************************************************/
-AliHbtBaseCut* AliHBTParticleCut::FindCut(AliHBTCutProperty property)
-{
- //returns pointer to the cut checking the given property
- for (Int_t i = 0;i<fNCuts;i++)
-  {
-    if (fCuts[i]->GetProperty() == property) 
-       return fCuts[i]; //we found the cut we were searching for
-  }
- return 0x0; //we did not found this cut
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetMomentumRange(Double_t min, Double_t max)
-{
-  //Sets momentum range
-  AliHBTMomentumCut* cut= (AliHBTMomentumCut*)FindCut(kHbtP);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTMomentumCut(min,max);
-}
-/******************************************************************/
-
-
-void AliHBTParticleCut::SetPtRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHBTPtCut* cut= (AliHBTPtCut*)FindCut(kHbtPt);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTPtCut(min,max);
-
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetEnergyRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHBTEnergyCut* cut= (AliHBTEnergyCut*)FindCut(kHbtE);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTEnergyCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetRapidityRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtRapidity);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTRapidityCut(min,max);
-
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetPseudoRapidityRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtPseudoRapidity);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTPseudoRapidityCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetPxRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtPx);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTPxCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetPyRange(Double_t min, Double_t max)
-{  
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtPy);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTPyCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetPzRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtPz);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTPzCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetPhiRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtPhi);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTPhiCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetThetaRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtTheta);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTThetaCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetVxRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtVx);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTVxCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetVyRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtVy);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTVyCut(min,max);
-}
-/******************************************************************/
-
-void AliHBTParticleCut::SetVzRange(Double_t min, Double_t max)
-{
-  //name self descriptive
-  AliHbtBaseCut* cut = FindCut(kHbtVz);
-  if(cut) cut->SetRange(min,max);
-  else fCuts[fNCuts++] = new AliHBTVzCut(min,max);
-}
-
-/******************************************************************/
-void AliHBTParticleCut::Streamer(TBuffer &b)
-{
-  // Stream all objects in the array to or from the I/O buffer.
-
-   UInt_t R__s, R__c;
-   if (b.IsReading()) 
-    {
-      Int_t i;
-      for (i = 0;i<fNCuts;i++) delete fCuts[i];
-      b.ReadVersion(&R__s, &R__c);
-      TObject::Streamer(b);
-      b >> fPID;
-      b >> fNCuts;
-      for (i = 0;i<fNCuts;i++) 
-       {
-         b >> fCuts[i];
-       }
-       b.CheckByteCount(R__s, R__c,AliHBTParticleCut::IsA());
-    } 
-   else 
-    {
-     R__c = b.WriteVersion(AliHBTParticleCut::IsA(), kTRUE);
-     TObject::Streamer(b);
-     b << fPID;
-     b << fNCuts;
-     for (Int_t i = 0;i<fNCuts;i++)
-      {
-       b << fCuts[i];
-      }
-     b.SetByteCount(R__c, kTRUE);
-   }
-}
-/******************************************************************/
-
-void AliHBTParticleCut::Print(void) const
-{
-  //prints all information about the cut to stdout
-  cout<<"Printing AliHBTParticleCut, this = "<<this<<endl;
-  cout<<"fPID  "<<fPID<<endl;
-  cout<<"fNCuts  "<<fNCuts <<endl;
-  for (Int_t i = 0;i<fNCuts;i++)
-      {
-       cout<<"  fCuts["<<i<<"]  "<<fCuts[i]<<endl<<"   ";
-       fCuts[i]->Print();
-      }
-}
-
-/******************************************************************/
-/******************************************************************/
-
-ClassImp(AliHBTEmptyParticleCut)
-void AliHBTEmptyParticleCut::Streamer(TBuffer &b)
- {
-  //stramer
-  AliHBTParticleCut::Streamer(b);
- }
-/******************************************************************/
-/******************************************************************/
-/******************************************************************/
-
-/******************************************************************/
-/******************************************************************/
-/******************************************************************/
-
-ClassImp(AliHbtBaseCut)
-void AliHbtBaseCut::Print(void) const
-{
-  // prints the information anout the base cut to stdout
-  cout<<"fMin="<<fMin <<", fMax=" <<fMax<<"    ";
-  PrintProperty();
-}
-/******************************************************************/
-
-void AliHbtBaseCut::PrintProperty(void) const
-{
- //prints the property name 
- switch (fProperty)
-  {
-   case  kHbtP: 
-     cout<<"kHbtP"; break;
-   case  kHbtPt: 
-     cout<<"kHbtPt"; break;
-   case  kHbtE: 
-     cout<<"kHbtE"; break;
-   case  kHbtRapidity: 
-     cout<<"kHbtRapidity"; break;
-   case  kHbtPseudoRapidity: 
-     cout<<"kHbtPseudoRapidity"; break;
-   case  kHbtPx: 
-     cout<<"kHbtPx"; break;
-   case  kHbtPy: 
-     cout<<"kHbtPy"; break;
-   case  kHbtPz: 
-     cout<<"kHbtPz"; break;   
-   case  kHbtPhi: 
-     cout<<"kHbtPhi"; break;
-   case  kHbtTheta: 
-     cout<<"kHbtTheta"; break;
-   case  kHbtVx: 
-     cout<<"kHbtVx"; break;
-   case  kHbtVy: 
-     cout<<"kHbtVy"; break;
-   case  kHbtVz: 
-     cout<<"kHbtVz"; break;
-   case  kHbtNone: 
-     cout<<"kHbtNone"; break;
-   default: 
-     cout<<"Property Not Found";
-  }
- cout<<endl;
-}
-ClassImp( AliHBTMomentumCut )
-
-ClassImp( AliHBTPtCut )
-ClassImp( AliHBTEnergyCut )
-ClassImp( AliHBTRapidityCut )
-ClassImp( AliHBTPseudoRapidityCut )
-ClassImp( AliHBTPxCut )
-ClassImp( AliHBTPyCut )
-ClassImp( AliHBTPzCut )
-ClassImp( AliHBTPhiCut )
-ClassImp( AliHBTThetaCut )
-ClassImp( AliHBTVxCut )
-ClassImp( AliHBTVyCut )
-ClassImp( AliHBTVzCut )
-
-ClassImp( AliHBTPIDCut )
-
-ClassImp( AliHBTLogicalOperCut )
-
-AliHBTLogicalOperCut::AliHBTLogicalOperCut():
- AliHbtBaseCut(-10e10,10e10,kHbtNone),
- fFirst(new AliHBTDummyBaseCut),
- fSecond(new AliHBTDummyBaseCut)
-{
- //ctor
-}
-/******************************************************************/
-
-AliHBTLogicalOperCut::AliHBTLogicalOperCut(AliHbtBaseCut* first, AliHbtBaseCut* second):
- AliHbtBaseCut(-10e10,10e10,kHbtNone),
- fFirst((first)?(AliHbtBaseCut*)first->Clone():0x0),
- fSecond((second)?(AliHbtBaseCut*)second->Clone():0x0)
-{
-  //ctor
-  if ( (fFirst && fSecond) == kFALSE) 
-   {
-     Fatal("AliHBTLogicalOperCut","One of parameters is NULL!");
-   }
-}
-/******************************************************************/
-
-AliHBTLogicalOperCut::~AliHBTLogicalOperCut()
-{
-  //destructor
-  delete fFirst;
-  delete fSecond;
-}
-/******************************************************************/
-
-Bool_t AliHBTLogicalOperCut::AliHBTDummyBaseCut::Pass(AliHBTParticle* /*part*/)  const
-{
-  //checks if particles passes properties defined by this cut
-  Warning("Pass","You are using dummy base cut! Probobly some logical cut is not set up properly");
-  return kFALSE;//accept
-}
-/******************************************************************/
-
-void AliHBTLogicalOperCut::Streamer(TBuffer &b)
-{
-  // Stream all objects in the array to or from the I/O buffer.
-  UInt_t R__s, R__c;
-  if (b.IsReading()) 
-   {
-     delete fFirst;
-     delete fSecond;
-     fFirst  = 0x0;
-     fSecond = 0x0;
-
-     b.ReadVersion(&R__s, &R__c);
-     TObject::Streamer(b);
-     b >> fFirst;
-     b >> fSecond;
-     b.CheckByteCount(R__s, R__c,AliHBTLogicalOperCut::IsA());
-   } 
-  else 
-   {
-     R__c = b.WriteVersion(AliHBTLogicalOperCut::IsA(), kTRUE);
-     TObject::Streamer(b);
-     b << fFirst;
-     b << fSecond;
-     b.SetByteCount(R__c, kTRUE);
-  }
-}
-
-/******************************************************************/
-ClassImp(AliHBTOrCut)
-
-Bool_t AliHBTOrCut::Pass(AliHBTParticle * p) const
-{
-  //returns true when rejected 
-  //AND operation is a little bit misleading but is correct
-  //User wants to build logical cuts with natural (positive) logic
-  //while HBTAN use inernally reverse (returns true when rejected)
-  if (fFirst->Pass(p) && fSecond->Pass(p)) return kTRUE;//rejected (both rejected, returned kTRUE)
-  return kFALSE;//accepted, at least one accepted (returned kFALSE)
-}
-/******************************************************************/
-
-ClassImp(AliHBTAndCut)
-
-Bool_t AliHBTAndCut::Pass(AliHBTParticle * p)  const
-{
-  //returns true when rejected 
-  //OR operation is a little bit misleading but is correct
-  //User wants to build logical cuts with natural (positive) logic
-  //while HBTAN use inernally reverse (returns true when rejected)
-  if (fFirst->Pass(p) || fSecond->Pass(p)) return kTRUE;//rejected (any of two rejected(returned kTRUE) )
-  return kFALSE;//accepted (both accepted (returned kFALSE))
-}
-/******************************************************************/
diff --git a/HBTAN/AliHBTParticleCut.h b/HBTAN/AliHBTParticleCut.h
deleted file mode 100644 (file)
index fbcec43..0000000
+++ /dev/null
@@ -1,389 +0,0 @@
-#ifndef ALIHBTPARTICLECUT_H
-#define ALIHBTPARTICLECUT_H
-//__________________________________________________________________________
-////////////////////////////////////////////////////////////////////////////
-//                                                                        //
-// class AliHBTParticleCut                                                //
-//                                                                        //
-// Classes for single particle cuts                                       //
-// User should use only AliHBTParticleCut, eventually                     //
-// EmptyCut which passes all particles                                    //
-// There is all interface for setting cuts on all particle properties     //
-// The main method is Pass - which returns                                //
-//         True to reject particle                                        //
-//         False in case it meets all the criteria of the given cut       //
-//                                                                        //
-// User should create (and also destroy) cuts himself                     // 
-// and then pass them to the Analysis And Function by a proper method     //
-//                                                                        //
-//                                                                        //
-// more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html   //
-// resonsible: Piotr Skowronski@cern.ch                                   //
-//                                                                        //
-////////////////////////////////////////////////////////////////////////////
-
-
-#include <TObject.h>
-#include "AliHBTParticle.h"
-
-
-class AliHBTEmptyParticleCut;
-class AliHBTParticleCut;
-class AliHBTPairCut;
-class AliHBTPair;
-class AliHbtBaseCut;
-
-
-/******************************************************************/
-/******************************************************************/
-/******************************************************************/
-
-enum AliHBTCutProperty
- {
-//codes particle property
-  kHbtP,  //Momentum
-  kHbtPt, //Transverse momentum
-  kHbtE,  //Energy
-  kHbtRapidity, //
-  kHbtPseudoRapidity,
-  kHbtPx, //X coAnddinate of the momentum
-  kHbtPy, //Y coAnddinate of the momentum
-  kHbtPz, //Z coAnddinate of the momentum
-  kHbtPhi,//angle
-  kHbtTheta,//angle
-  kHbtVx,  // vertex X coAnddinate
-  kHbtVy,  // vertex Y coAnddinate
-  kHbtVz,  // vertex Z coAnddinate
-  kHbtPid, // vertex Z coAnddinate
-//_____________________________
-  kHbtNone
- };
-
-/******************************************************************/
-/******************************************************************/
-/******************************************************************/
-
-class AliHBTParticleCut: public TObject
-{
-//Class describing cut on pairs of particles
-  public:
-    AliHBTParticleCut();
-    AliHBTParticleCut(const AliHBTParticleCut& in);
-    virtual ~AliHBTParticleCut();
-    AliHBTParticleCut& operator = (const AliHBTParticleCut& in);
-    
-    virtual Bool_t Pass(AliHBTParticle* p) const;
-    Bool_t IsEmpty() const {return kFALSE;}
-    
-    void AddBasePartCut(AliHbtBaseCut* basecut);
-    
-    Int_t GetPID() const { return fPID;}
-    void SetPID(Int_t pid){fPID=pid;}
-    void SetMomentumRange(Double_t min, Double_t max);
-    void SetPRange(Double_t min, Double_t max){SetMomentumRange(min,max);}
-    void SetPtRange(Double_t min, Double_t max);
-    void SetEnergyRange(Double_t min, Double_t max);
-    void SetRapidityRange(Double_t min, Double_t max);
-    void SetYRange(Double_t min, Double_t max){SetRapidityRange(min,max);}
-    void SetPseudoRapidityRange(Double_t min, Double_t max);
-    void SetPxRange(Double_t min, Double_t max);
-    void SetPyRange(Double_t min, Double_t max);
-    void SetPzRange(Double_t min, Double_t max);
-    void SetPhiRange(Double_t min, Double_t max);
-    void SetThetaRange(Double_t min, Double_t max);
-    void SetVxRange(Double_t min, Double_t max);
-    void SetVyRange(Double_t min, Double_t max);
-    void SetVzRange(Double_t min, Double_t max);
-    
-    void Print(void) const;
-  protected:
-     
-    AliHbtBaseCut* FindCut(AliHBTCutProperty property);
-
-    AliHbtBaseCut ** fCuts;//! Array with cuts
-    Int_t fNCuts; //number of base cuts stored in fCuts
-
-    Int_t fPID; //particle PID  - if=0 (rootino) all pids are accepted
-          
-  private:
-    static const Int_t fgkMaxCuts; //Size of the fCuts array
-
-    ClassDef(AliHBTParticleCut,1)
-};
-/******************************************************************/
-/******************************************************************/
-/******************************************************************/
-
-class AliHBTEmptyParticleCut:  public AliHBTParticleCut
-{
-//Empty - it passes possitively all particles - it means returns always False
-//Class describing cut on pairs of particles
-  public:
-    AliHBTEmptyParticleCut(){};
-    virtual ~AliHBTEmptyParticleCut(){};
-    
-    Bool_t Pass(AliHBTParticle*) const {return kFALSE;} //accept everything <<CAN NOT BE const!!!!>>
-    Bool_t IsEmpty() const {return kTRUE;}
-
-    ClassDef(AliHBTEmptyParticleCut,1)
-};
-
-/******************************************************************/
-/******************************************************************/
-/******************************************************************/
-
-class AliHbtBaseCut: public TObject
- {
-   //This class defines the range of some property - pure virtual
-   //Property is coded by AliHBTCutTypes type
-   
-   public:
-     
-     AliHbtBaseCut(Double_t min = 0.0, Double_t max = 0.0,AliHBTCutProperty prop = kHbtNone):
-                   fProperty(prop),fMin(min),fMax(max){}
-
-     virtual           ~AliHbtBaseCut(){}
-     
-     virtual Bool_t    Pass(AliHBTParticle *p) const;
-     
-     void              SetRange(Double_t min, Double_t max){fMin = min; fMax = max;}
-
-     void              SetMinimum(Double_t min){fMin = min;}
-     void              SetMaximum(Double_t max){fMax = max;}
-     
-     Double_t          GetMinimum() const {return fMin;}
-     Double_t          GetMaximum() const {return fMax;}
-     
-     AliHBTCutProperty GetProperty() const {return fProperty;}
-     virtual void Print(void) const;
-     
-   protected:
-     virtual Double_t  GetValue(AliHBTParticle *) const = 0;
-
-     AliHBTCutProperty fProperty; //property that this cut describes
-     Double_t fMin;//minimum value
-     Double_t fMax;//maximum value
-     
-   private:
-     void PrintProperty(void) const;
-     ClassDef(AliHbtBaseCut,1)
-   
- };
-
-inline Bool_t
-AliHbtBaseCut::Pass(AliHBTParticle *p) const
-{
-  //cjecks if particle property fits in range
-  if ( (GetValue(p) < fMin) || (GetValue(p) > fMax ) ) return kTRUE; //rejected
-  else return kFALSE; //accepted
-}
-/******************************************************************/
-/******************************************************************/
-/******************************************************************/
-
-class AliHBTMomentumCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTMomentumCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtP){}
-    virtual ~AliHBTMomentumCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->P();}
-    ClassDef(AliHBTMomentumCut,1)
- };
-
-class AliHBTPtCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTPtCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtPt){}
-    virtual ~AliHBTPtCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Pt();}
-    ClassDef(AliHBTPtCut,1)
- };
-
-
-class AliHBTEnergyCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTEnergyCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtE){}
-    virtual ~AliHBTEnergyCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const {return p->Energy();}
-    ClassDef(AliHBTEnergyCut,1)
- };
-
-class AliHBTRapidityCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTRapidityCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtRapidity){}
-    virtual ~AliHBTRapidityCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Y();}
-    ClassDef(AliHBTRapidityCut,1)
- };
-
-class AliHBTPseudoRapidityCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTPseudoRapidityCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtPseudoRapidity){}
-    virtual ~AliHBTPseudoRapidityCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Eta();}
-    ClassDef(AliHBTPseudoRapidityCut,1)
- };
-
-class AliHBTPxCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTPxCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtPx){}
-    virtual ~AliHBTPxCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Px();}
-    ClassDef(AliHBTPxCut,1)
- };
-
-class AliHBTPyCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTPyCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtPy){}
-    virtual ~AliHBTPyCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Py();}
-    ClassDef(AliHBTPyCut,1)
- };
-
-
-class AliHBTPzCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTPzCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtPz){}
-    virtual ~AliHBTPzCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Pz();}
-    ClassDef(AliHBTPzCut,1)
- };
-
-class AliHBTPhiCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTPhiCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtPhi){}
-    virtual ~AliHBTPhiCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Phi();}
-    ClassDef(AliHBTPhiCut,1)
-  
- };
-
-class AliHBTThetaCut: public AliHbtBaseCut
- {
-  public: 
-    AliHBTThetaCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtTheta){}
-    virtual ~AliHBTThetaCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Theta();}
-    ClassDef(AliHBTThetaCut,1)
-  
- };
-
-class AliHBTVxCut: public AliHbtBaseCut
- {
- //Cut of the X coAnddinate of the vertex position
-  public: 
-    AliHBTVxCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtVx){}
-    virtual ~AliHBTVxCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Vx();} //retruns value of the vertex
-    ClassDef(AliHBTVxCut,1)
-  
- };
-
-
-class AliHBTVyCut: public AliHbtBaseCut
- {
- //Cut of the X coAnddinate of the vertex position
-  public: 
-    AliHBTVyCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtVy){}
-    virtual ~AliHBTVyCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Vy();} //retruns value of the vertex
-    ClassDef(AliHBTVyCut,1)
-  
- };
-
-class AliHBTVzCut: public AliHbtBaseCut
- {
- //Cut of the X coAnddinate of the vertex position
-  public: 
-    AliHBTVzCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtVz){}
-    virtual ~AliHBTVzCut(){}
-  protected:
-    Double_t  GetValue(AliHBTParticle * p)const{return p->Vz();} //retruns value of the vertex
-    
-    ClassDef(AliHBTVzCut,1)
-  
- };
-
-class AliHBTPIDCut:  public AliHbtBaseCut
- {
-   public:
-     AliHBTPIDCut():AliHbtBaseCut(0.0,0.0,kHbtPid),fPID(0){}
-     AliHBTPIDCut(Int_t pid, Double_t min = 0.0, Double_t max = 1.0):AliHbtBaseCut(min,max,kHbtPid),fPID(pid){}
-     virtual ~AliHBTPIDCut(){}
-   protected:
-     Double_t  GetValue(AliHBTParticle * p)const{return p->GetPIDprobability(fPID);}
-     Int_t     fPID; //pid of particle that the pid is set 
-     ClassDef(AliHBTPIDCut,1)
- };
-//___________________________________________________
-/////////////////////////////////////////////////////
-//                                                 //
-// class AliHBTLogicalOperCut                      //
-//                                                 //
-// This cut is base class fAnd class that perfAndms  //
-// logical operations on cuts                      //
-//                                                 //
-/////////////////////////////////////////////////////
-class AliHBTLogicalOperCut:  public AliHbtBaseCut
- {
-   public:
-     AliHBTLogicalOperCut();
-     AliHBTLogicalOperCut(AliHbtBaseCut* first, AliHbtBaseCut* second);
-     virtual   ~AliHBTLogicalOperCut();
-   protected:
-     Double_t  GetValue(AliHBTParticle * /*part*/) const {MayNotUse("GetValue");return 0.0;}
-     
-     AliHbtBaseCut* fFirst;   //second cut
-     AliHbtBaseCut* fSecond;  //first cut
-   private:  
-    class  AliHBTDummyBaseCut: public AliHbtBaseCut 
-     {
-       Double_t  GetValue(AliHBTParticle * /*part*/) const {return 0.0;}
-       Bool_t    Pass(AliHBTParticle* /*part*/) const;
-     };
-     
-    ClassDef(AliHBTLogicalOperCut,1)
- };
-
-class AliHBTOrCut: public AliHBTLogicalOperCut
-{
-   public:
-     AliHBTOrCut(){}
-     AliHBTOrCut(AliHbtBaseCut* first, AliHbtBaseCut* second):AliHBTLogicalOperCut(first,second){}
-     virtual   ~AliHBTOrCut(){}
-     Bool_t    Pass(AliHBTParticle *p) const;
-     ClassDef(AliHBTOrCut,1)
-};
-
-class AliHBTAndCut: public AliHBTLogicalOperCut
-{
-   public:
-     AliHBTAndCut(){}
-     AliHBTAndCut(AliHbtBaseCut* first, AliHbtBaseCut* second):AliHBTLogicalOperCut(first,second){}
-     virtual   ~AliHBTAndCut(){}
-     Bool_t    Pass(AliHBTParticle *p) const;
-     ClassDef(AliHBTAndCut,1)
-};
-
-#endif
index 149a45b..aa5eb4e 100644 (file)
@@ -5,11 +5,7 @@
 #pragma link off all functions;
  
 #pragma link C++ class AliHBTAnalysis+;
-#pragma link C++ class AliHBTParticle+;
 #pragma link C++ class AliHBTPair+;
-#pragma link C++ class AliHBTEvent+;
-#pragma link C++ class AliHBTRun+;
-#pragma link C++ class AliHBTEventBuffer+;
 #pragma link C++ class AliHBTFunction+;
 #pragma link C++ class AliHBTMonitorFunction+;
 
 #pragma link C++ class AliHBTMonTwoParticleFctn2D+;
 #pragma link C++ class AliHBTMonTwoParticleFctn3D+;
 
-#pragma link C++ class AliHBTParticleCut-;
-#pragma link C++ class AliHBTEmptyParticleCut-;
-#pragma link C++ class AliHbtBaseCut+;
-
-#pragma link C++ class AliHBTMomentumCut+;
-#pragma link C++ class AliHBTPtCut+;
-#pragma link C++ class AliHBTEnergyCut+;
-#pragma link C++ class AliHBTRapidityCut+;
-#pragma link C++ class AliHBTPseudoRapidityCut+;
-#pragma link C++ class AliHBTPxCut+;
-#pragma link C++ class AliHBTPyCut+;
-#pragma link C++ class AliHBTPzCut+;
-#pragma link C++ class AliHBTPhiCut+;
-#pragma link C++ class AliHBTThetaCut+;
-#pragma link C++ class AliHBTVxCut+;
-#pragma link C++ class AliHBTVyCut+;
-#pragma link C++ class AliHBTVzCut+;
-#pragma link C++ class AliHBTPIDCut+;
-#pragma link C++ class AliHBTLogicalOperCut-;
-#pragma link C++ class AliHBTAndCut+;
-#pragma link C++ class AliHBTOrCut+;
-
-#pragma link C++ class AliHBTReader+;
-#pragma link C++ class AliHBTReaderESD+;
-#pragma link C++ class AliHBTReaderTPC+;
-#pragma link C++ class AliHBTReaderITSv1+;
-#pragma link C++ class AliHBTReaderITSv2+;
-#pragma link C++ class AliHBTReaderKineTree+;
-#pragma link C++ class AliHBTReaderInternal+;
-
-#pragma link C++ class AliHBTTrackPoints+;
-#pragma link C++ class AliHBTClusterMap+;
-    
 #pragma link C++ class AliHBTQInvCorrelFctn+;
 #pragma link C++ class AliHBTOutSideLongFctn+;
 #pragma link C++ class AliHBTTwoKStarCorrelFctn+;
index 0a9d191..976dd77 100644 (file)
@@ -1,22 +1,15 @@
 SRCS          =       AliHBTWeights.cxx AliHBTCrab.cxx AliHBTAnalysis.cxx  \
-AliHBTReader.cxx      AliHBTReaderKineTree.cxx \
-AliHBTReaderESD.cxx   AliHBTReaderInternal.cxx \
-AliHBTReaderTPC.cxx   \
-AliHBTReaderITSv1.cxx AliHBTReaderITSv2.cxx    \
-AliHBTParticle.cxx    AliHBTParticleCut.cxx \
 AliHBTPair.cxx       \
-AliHBTEvent.cxx       AliHBTRun.cxx \
 AliHBTFunction.cxx    AliHBTCorrelFctn.cxx  \
 AliHBTMonitorFunction.cxx       AliHBTTwoTrackEffFctn.cxx \
 AliHBTQResolutionFctns.cxx      AliHBTQDistributionFctns.cxx \
 AliHBTMonDistributionFctns.cxx  AliHBTMonResolutionFctns.cxx \
 AliHBTLLWeights.cxx             AliHBTWeightFctn.cxx \
 AliHBTWeightsPID.cxx            AliHBTWeightTheorFctn.cxx \
-AliHBTPositionRandomizer.cxx    AliHBTEventBuffer.cxx \
-AliHBTCorrFitFctn.cxx \
-AliHBTCorrectQInvCorrelFctn.cxx AliHBTCorrectOSLCorrelFctn.cxx \
-AliHBTTrackPoints.cxx AliHBTClusterMap.cxx \
-AliHBTPIDPurityFctns.cxx
+AliHBTPositionRandomizer.cxx    \
+AliHBTCorrFitFctn.cxx AliHBTPIDPurityFctns.cxx \
+AliHBTCorrectQInvCorrelFctn.cxx AliHBTCorrectOSLCorrelFctn.cxx 
+
 
 FSRCS   = fsiini.F  fsiw.F  led_bldata.F  ltran12.F