#include "AliHBTPair.h"
#include "AliHBTParticle.h"
#include "WLedCOMMONS.h"
-#include <TList.h>
#include <TRandom.h>
#include <TMath.h>
#include <TPDGCode.h>
Double_t AliHBTLLWeights::GetWeight(const AliHBTPair* partpair)
{
// calculates weight for a pair
- static const Double_t cmtofm = 1.e13;
- static const Double_t cmtoOneOverGeV = cmtofm*fgkWcons;
+ static const Double_t kcmtofm = 1.e13;
+ static const Double_t kcmtoOneOverGeV = kcmtofm*fgkWcons;
AliHBTParticle *part1 = partpair->Particle1();
AliHBTParticle *part2 = partpair->Particle2();
FSI_MOM.P2Y = part2->Py();
FSI_MOM.P2Z = part2->Pz();
- FSI_COOR.X1 = part1->Vx()*cmtoOneOverGeV;
- FSI_COOR.Y1 = part1->Vy()*cmtoOneOverGeV;
- FSI_COOR.Z1 = part1->Vz()*cmtoOneOverGeV;
+ FSI_COOR.X1 = part1->Vx()*kcmtoOneOverGeV;
+ FSI_COOR.Y1 = part1->Vy()*kcmtoOneOverGeV;
+ FSI_COOR.Z1 = part1->Vz()*kcmtoOneOverGeV;
FSI_COOR.T1 = part1->T();
- FSI_COOR.X2 = part2->Vx()*cmtoOneOverGeV;
- FSI_COOR.Y2 = part2->Vy()*cmtoOneOverGeV;
- FSI_COOR.Z2 = part2->Vz()*cmtoOneOverGeV;
+ FSI_COOR.X2 = part2->Vx()*kcmtoOneOverGeV;
+ FSI_COOR.Y2 = part2->Vy()*kcmtoOneOverGeV;
+ FSI_COOR.Z2 = part2->Vz()*kcmtoOneOverGeV;
FSI_COOR.T2 = part2->T();
ltran12();
Bool_t fTest; //flag indicating if parameters listed below are to be calculated automatically (0)
//or
- Bool_t fColoumbSwitch;
- Bool_t fQuantStatSwitch;
+ Bool_t fColoumbSwitch; //switches on/off Coulumb effect
+ Bool_t fQuantStatSwitch; //switches on/off Quantum Statistics effect
Bool_t fStrongInterSwitch;//Switches strong interactions TRUE=ON
Bool_t fColWithResidNuclSwitch;//Switches couloumb interaction
//with residual nucleus TRUE=ON
Int_t fApproximationModel; //approximation used to calculate Bethe-Salpeter amplitude see SetApproxModel for more comments
- Int_t fPID1;
- Int_t fPID2;
+ Int_t fPID1; //Pdg Code of the first particle in the pair
+ Int_t fPID2; //Pdg Code of the second particle in the pair
Double_t fSigma; //constants for spherical source model in cm
static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973
// 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 <TClass.h>
#include "AliHBTTrackPoints.h"
#include "AliHBTClusterMap.h"
}
//______________________________________________________________________________
-Float_t AliHBTParticle::GetPIDprobability(Int_t pdg)
+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.
-#ifndef ALIHBTPARTICLE
-#define ALIHBTPARTICLE
+#ifndef ALIHBTPARTICLE_H
+#define ALIHBTPARTICLE_H
//___________________________________________________________
/////////////////////////////////////////////////////////////
//
// 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 <TMath.h>
#include <TDatabasePDG.h>
-#include "AliConst.h"
class TParticle;
class AliHBTTrackPoints;
class AliHBTParticle : public TObject
{
-
public:
// ****** constructors and destructor
AliHBTParticle();
AliHBTParticle& operator=(const AliHBTParticle& in);
void SetPIDprobability(Int_t pdg, Float_t prob = 1.0);
- Float_t GetPIDprobability(Int_t pdg);
+ Float_t GetPIDprobability(Int_t pdg) const;
Int_t GetPdgCode () const { return (fPids)?fPids[fPdgIdx]:0;}
Int_t GetPid () const { return GetPdgCode();}
Int_t Beauty () { return GetPDG()->Beauty(); }
Int_t Charm () { return GetPDG()->Charm(); }
Int_t Strangeness () { return GetPDG()->Strangeness();}
- void ProductionVertex(TLorentzVector &v) { v.SetXYZT(fVx,fVy,fVz,fVt);}
+ void ProductionVertex(TLorentzVector &v) const { v.SetXYZT(fVx,fVy,fVz,fVt);}
Double_t Vx () const { return fVx;}
Double_t P () const //momentum
{ return TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz); }
- void Momentum(TLorentzVector &v) { v.SetPxPyPzE(fPx,fPy,fPz,fE);}
+ void Momentum(TLorentzVector &v) const { v.SetPxPyPzE(fPx,fPy,fPz,fE);}
Double_t Pt () const //transverse momentum
{ return TMath::Sqrt(fPx*fPx+fPy*fPy); }
static void SetDebug(Int_t dbg=1){fgDebug=dbg;}
static Int_t GetDebug(){return fgDebug;}
- static Int_t fgDebug; //debug printout level
protected:
Int_t GetPidSlot(Int_t pdg) const;//returns position of the given PID in fPids (and fPidProb) array.
AliHBTTrackPoints* fTrackPoints; // track positions along trajectory - used by anti-merging cut
AliHBTClusterMap* fClusterMap; // bit map of cluters occupation; 1 if has cluter on given layer/padrow/...
+ static Int_t fgDebug; //debug printout level
ClassDef(AliHBTParticle,3) // TParticle vertex particle information
};