Bool_t isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & (AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral));
- if(!isSelected) {cout << "AliAnalysisTaskFemto: is not selected" << endl; return;}
+ if(!isSelected) {//cout << "AliAnalysisTaskFemto: is not selected" << endl;
+ return;}
#include "AliAODpidUtil.h"
-
ClassImp(AliFemtoEventReaderAOD)
#if !(ST_NO_NAMESPACES)
}
double pxyz[3];
+
+ //AliExternalTrackParam *param = new AliExternalTrackParam(*aodtrack->GetInnerParam());
+ trackCopy->SetInnerMomentum(aodtrack->GetTPCmomentum());
+
aodtrack->PxPyPz(pxyz);//reading noconstarined momentum
const AliFmThreeVectorD ktP(pxyz[0],pxyz[1],pxyz[2]);
// Check the sanity of the tracks - reject zero momentum tracks
if (fReadInner == true) {
if (esdtrack->GetTPCInnerParam()) {
- AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetTPCInnerParam());
+ AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetInnerParam());
+ //trackCopy->SetInnerMomentum(param->P());
+ trackCopy->SetInnerMomentum(esdtrack->GetTPCmomentum());
param->GetXYZ(rxyz);
// param->PropagateToDCA(fEvent->GetPrimaryVertex(), (fEvent->GetMagneticField()), 10000);
param->GetPxPyPz(pxyz);//reading noconstarined momentum
if (fEstEventMult == kGlobalCount)
hbtEvent->SetNormalizedMult(tNormMult);
else if (fEstEventMult == kReferenceITSTPC)
- hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSTPC,0.8));
+ hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSTPC,1.0));
else if(fEstEventMult == kReferenceITSSA)
- hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSSA,0.8));
+ hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSSA,1.0));
else if(fEstEventMult == kReferenceTracklets)
- hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTracklets,0.8));
+ hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTracklets,1.0));
else if (fEstEventMult == kTracklet)
hbtEvent->SetNormalizedMult(tTracklet);
else if (fEstEventMult == kITSTPC)
float globalPositionsAtRadiiPos[9][3];
GetGlobalPositionAtGlobalRadiiThroughTPC(trackpos,bfield,globalPositionsAtRadiiPos);
double tpcEntrancePos[3]={globalPositionsAtRadiiPos[0][0],globalPositionsAtRadiiPos[0][1],globalPositionsAtRadiiPos[0][2]};
- double tpcExitPos[3]={globalPositionsAtRadiiPos[8][0],globalPositionsAtRadiiPos[8][1],globalPositionsAtRadiiPos[8][2]};
+ double tpcExitPos[3]={globalPositionsAtRadiiPos[7][0],globalPositionsAtRadiiPos[7][1],globalPositionsAtRadiiPos[7][2]};
float globalPositionsAtRadiiNeg[9][3];
GetGlobalPositionAtGlobalRadiiThroughTPC(trackneg,bfield,globalPositionsAtRadiiNeg);
double tpcEntranceNeg[3]={globalPositionsAtRadiiNeg[0][0],globalPositionsAtRadiiNeg[0][1],globalPositionsAtRadiiNeg[0][2]};
- double tpcExitNeg[3]={globalPositionsAtRadiiNeg[8][0],globalPositionsAtRadiiNeg[8][1],globalPositionsAtRadiiNeg[8][2]};
+ double tpcExitNeg[3]={globalPositionsAtRadiiNeg[7][0],globalPositionsAtRadiiNeg[7][1],globalPositionsAtRadiiNeg[7][2]};
AliFemtoThreeVector tmpVec;
tmpVec.SetX(tpcEntrancePos[0]); tmpVec.SetX(tpcEntrancePos[1]); tmpVec.SetX(tpcEntrancePos[2]);
if (esdtrack->GetTPCInnerParam()) {
AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetTPCInnerParam());
+ trackCopy->SetInnerMomentum(esdtrack->GetTPCmomentum());
param->GetXYZ(rxyz);
// param->PropagateToDCA(fEvent->GetPrimaryVertex(), (fEvent->GetMagneticField()), 10000);
param->GetPxPyPz(pxyz);//reading noconstarined momentum
fpz *= 1e13;
fpt *= 1e13;
+ // fillDCA
+
+ if (TMath::Abs(impact[0]) > 0.001) {
+ if (fStack->IsPhysicalPrimary(TMath::Abs(esdtrack->GetLabel()))){
+ trackCopy->SetImpactDprim(impact[0]);
+ //cout << "prim" << endl;
+
+ }
+ else if (fStack->IsSecondaryFromWeakDecay(TMath::Abs(esdtrack->GetLabel()))) {
+ trackCopy->SetImpactDweak(impact[0]);
+ //cout << "wea" << endl;
+ }
+ else if (fStack->IsSecondaryFromMaterial(TMath::Abs(esdtrack->GetLabel()))) {
+ trackCopy->SetImpactDmat(impact[0]);
+ //cout << "mat" << endl;
+ }
+ }
+ // end fillDCA
+
// cout << "Looking for mother ids " << endl;
if (motherids[TMath::Abs(esdtrack->GetLabel())]>0) {
// cout << "Got mother id" << endl;
if (fEstEventMult == kGlobalCount)
hbtEvent->SetNormalizedMult(tNormMult);
+ else if (fEstEventMult == kReferenceITSTPC)
+ hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSTPC,1.2));
+ else if(fEstEventMult == kReferenceITSSA)
+ hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSSA,1.2));
+ else if(fEstEventMult == kReferenceTracklets)
+ hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTracklets,1.2));
else if (fEstEventMult == kTracklet)
hbtEvent->SetNormalizedMult(tTracklet);
else if (fEstEventMult == kITSTPC)
}
}
- cout<<"tESDv0->GetPdgCode(): "<<tESDv0->GetPdgCode()<<endl;
+ if ((TMath::Abs(trackpos->GetLabel()) < fStack->GetNtrack()) && (TMath::Abs(trackneg->GetLabel()) < fStack->GetNtrack())) {
+
+ //cout<<"tESDv0->GetPdgCode(): "<<tESDv0->GetPdgCode()<<endl;
+ // cout<<"Labels: "<<trackpos->GetLabel()<<" "<<trackneg->GetLabel()<<endl;
+ AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo();
+ //TParticle *tPart = fStack->Particle(tESDv0->GetLabel()); //zle
+
+ int labelpos = TMath::Abs(trackpos->GetLabel());
+ int labelneg = TMath::Abs(trackneg->GetLabel());
+ TParticle *tPartPos = fStack->Particle(labelpos);
+ TParticle *tPartNeg = fStack->Particle(labelneg);
+
+
+ double impactpos[2];
+ double impactneg[2];
+ double covimpact[3];
- AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo();
- //TParticle *tPart = fStack->Particle(tESDv0->GetLabel()); //zle
- TParticle *tPartPos = fStack->Particle(trackpos->GetLabel());
- TParticle *tPartNeg = fStack->Particle(trackneg->GetLabel());
-
- //tInfo->SetPDGPid();
- //tInfo->SetMass();
- //tInfo->SetTrueMomentum();
- //tInfo->SetEmissionPoint();
-
- // Freeze-out coordinates
- double fpx=0.0, fpy=0.0, fpz=0.0, fpt=0.0;
-
- fpx = tPartPos->Vx() - fPrimaryVtxPosition[0];
- fpy = tPartPos->Vy() - fPrimaryVtxPosition[1];
- fpz = tPartPos->Vz() - fPrimaryVtxPosition[2];
- fpt = tPartPos->T();
+ AliExternalTrackParam *parampos = new AliExternalTrackParam(*trackpos->GetTPCInnerParam());
+ parampos->PropagateToDCA(fEvent->GetPrimaryVertexTPC(), (fEvent->GetMagneticField()), 10000, impactpos, covimpact);
+ AliExternalTrackParam *paramneg = new AliExternalTrackParam(*trackneg->GetTPCInnerParam());
+ paramneg->PropagateToDCA(fEvent->GetPrimaryVertexTPC(), (fEvent->GetMagneticField()), 10000, impactneg, covimpact);
+
+
+ // fillDCA
+ if (TMath::Abs(impactpos[0]) > 0.001) {
+ if (fStack->IsPhysicalPrimary(labelpos)){
+ tFemtoV0->SetImpactDprimPos(impactpos[0]);
+ }
+ else if (fStack->IsSecondaryFromWeakDecay(labelpos)) {
+ tFemtoV0->SetImpactDweakPos(impactpos[0]);
+ //cout << "wea" << endl;
+ }
+ else if (fStack->IsSecondaryFromMaterial(labelpos)) {
+ tFemtoV0->SetImpactDmatPos(impactpos[0]);
+ //cout << "mat" << endl;
+ }
+ }
+ if (TMath::Abs(impactneg[0]) > 0.001) {
+ if (fStack->IsPhysicalPrimary(labelneg)){
+ tFemtoV0->SetImpactDprimNeg(impactneg[0]);
+ //cout << "prim" << endl;
+ }
+ else if (fStack->IsSecondaryFromWeakDecay(labelneg)) {
+ tFemtoV0->SetImpactDweakNeg(impactneg[0]);
+ //cout << "wea" << endl;
+ }
+ else if (fStack->IsSecondaryFromMaterial(labelneg)) {
+ tFemtoV0->SetImpactDmatNeg(impactneg[0]);
+ //cout << "mat" << endl;
+ }
+
+ }
+ // end fillDCA
+
+
+ //tInfo->SetPDGPid();
+ //tInfo->SetMass();
+ //tInfo->SetTrueMomentum();
+ //tInfo->SetEmissionPoint();
+
+ // Freeze-out coordinates
+ double fpx=0.0, fpy=0.0, fpz=0.0, fpt=0.0;
+
+ fpx = tPartPos->Vx() - fPrimaryVtxPosition[0];
+ fpy = tPartPos->Vy() - fPrimaryVtxPosition[1];
+ fpz = tPartPos->Vz() - fPrimaryVtxPosition[2];
+ fpt = tPartPos->T();
- fpx *= 1e13;
- fpy *= 1e13;
- fpz *= 1e13;
- fpt *= 1e13;
-
- tInfo->SetPDGPidPos(tPartPos->GetPdgCode());
- tInfo->SetMassPos(tPartPos->GetMass());
- tInfo->SetTrueMomentumPos(tPartPos->Px(),tPartPos->Py(),tPartPos->Pz());
- tInfo->SetEmissionPointPos(fpx,fpy,fpz,fpt);
-
- fpx = tPartNeg->Vx() - fPrimaryVtxPosition[0];
- fpy = tPartNeg->Vy() - fPrimaryVtxPosition[1];
- fpz = tPartNeg->Vz() - fPrimaryVtxPosition[2];
- fpt = tPartNeg->T();
+ fpx *= 1e13;
+ fpy *= 1e13;
+ fpz *= 1e13;
+ fpt *= 1e13;
+
+ tInfo->SetPDGPidPos(tPartPos->GetPdgCode());
+ tInfo->SetMassPos(tPartPos->GetMass());
+ tInfo->SetTrueMomentumPos(tPartPos->Px(),tPartPos->Py(),tPartPos->Pz());
+ tInfo->SetEmissionPointPos(fpx,fpy,fpz,fpt);
+
+ fpx = tPartNeg->Vx() - fPrimaryVtxPosition[0];
+ fpy = tPartNeg->Vy() - fPrimaryVtxPosition[1];
+ fpz = tPartNeg->Vz() - fPrimaryVtxPosition[2];
+ fpt = tPartNeg->T();
- fpx *= 1e13;
- fpy *= 1e13;
- fpz *= 1e13;
- fpt *= 1e13;
+ fpx *= 1e13;
+ fpy *= 1e13;
+ fpz *= 1e13;
+ fpt *= 1e13;
- tInfo->SetPDGPidNeg(tPartNeg->GetPdgCode());
- tInfo->SetMassNeg(tPartNeg->GetMass());
- tInfo->SetTrueMomentumNeg(tPartNeg->Px(),tPartNeg->Py(),tPartNeg->Pz());
- tInfo->SetEmissionPointNeg(fpx,fpy,fpz,fpt);
-
- tFemtoV0->SetHiddenInfo(tInfo);
+ tInfo->SetPDGPidNeg(tPartNeg->GetPdgCode());
+ tInfo->SetMassNeg(tPartNeg->GetMass());
+ tInfo->SetTrueMomentumNeg(tPartNeg->Px(),tPartNeg->Py(),tPartNeg->Pz());
+ tInfo->SetEmissionPointNeg(fpx,fpy,fpz,fpt);
+ tFemtoV0->SetHiddenInfo(tInfo);
+ }
}
else
{
}
}
}
+
#include "AliESDv0.h"
#include "AliFemtoV0.h"
+#include "AliESDtrackCuts.h"
#include "AliESDpid.h"
enum TrackType {kGlobal=0, kTPCOnly=1, kITSOnly=2, kSPDTracklet=3};
typedef enum TrackType ReadTrackType;
- enum EventMult {kTracklet=0, kITSTPC=1, kITSPure=2, kGlobalCount=3, kSPDLayer1=4, kV0Centrality=5 };
+ enum EventMult {kTracklet=0, kITSTPC=1, kITSPure=2, kGlobalCount=3, kSPDLayer1=4, kV0Centrality=5, kReferenceITSTPC=6, kReferenceITSSA=7, kReferenceTracklets=8 };
typedef enum EventMult EstEventMult;
AliFemtoEventReaderESDChainKine();
#endif
+
fTofProtonTime(-100000.0),
fP(0,0,0),
fPt(0),
+ fInnerMomentum(0),
fHelix(),
fFlags(0),
fLabel(0),
fImpactD(0),
+ fImpactDprim(-10000.0),
+ fImpactDweak(-10000.0),
+ fImpactDmat(-10000.0),
fImpactZ(0),
fCdd(0),
fCdz(0),
fTofProtonTime(-100000.0),
fP(0,0,0),
fPt(0),
+ fInnerMomentum(0),
fHelix(),
fFlags(0),
fLabel(0),
fImpactD(0),
+ fImpactDprim(-10000.0),
+ fImpactDweak(-10000.0),
+ fImpactDmat(-10000.0),
fImpactZ(0),
fCdd(0),
fCdz(0),
fTofProtonTime=t.fTofProtonTime;
fP = t.fP;
fPt = t.fPt;
+ fInnerMomentum = t.fInnerMomentum;
fHelix = t.fHelix;
fTrackId = t.fTrackId;
fFlags=t.fFlags;
fLabel=t.fLabel;
fImpactD=t.fImpactD;
+ fImpactDprim=t.fImpactDprim;
+ fImpactDweak=t.fImpactDweak;
+ fImpactDmat=t.fImpactDmat;
fImpactZ=t.fImpactZ;
fCdd=t.fCdd;
fCdz=t.fCdz;
fTofProtonTime=aTrack.fTofProtonTime;
fP = aTrack.fP;
fPt = aTrack.fPt;
+ fInnerMomentum = aTrack.fInnerMomentum;
fHelix = aTrack.fHelix;
fTrackId = aTrack.fTrackId;
fFlags=aTrack.fFlags;
fLabel=aTrack.fLabel;
fImpactD=aTrack.fImpactD;
+ fImpactDprim=aTrack.fImpactDprim;
+ fImpactDweak=aTrack.fImpactDweak;
+ fImpactDmat=aTrack.fImpactDmat;
fImpactZ=aTrack.fImpactZ;
fCdd=aTrack.fCdd;
fCdz=aTrack.fCdz;
void AliFemtoTrack::SetP(const AliFemtoThreeVector& p){fP = p;}
void AliFemtoTrack::SetPt(const float& pt){fPt = pt;}
+void AliFemtoTrack::SetInnerMomentum(const float& x){fInnerMomentum = x;}
void AliFemtoTrack::SetHelix(const AliFmPhysicalHelixD& h){fHelix = h;}
void AliFemtoTrack::SetTrackId(const int & id) { fTrackId=id;}
void AliFemtoTrack::SetFlags(const long int &flags) {fFlags=flags;}
void AliFemtoTrack::SetLabel(const int &label) {fLabel=label;}
void AliFemtoTrack::SetImpactD(const float& aImpactD){fImpactD=aImpactD;}
+
+void AliFemtoTrack::SetImpactDprim(const float& aImpactDprim){fImpactDprim=aImpactDprim;}
+void AliFemtoTrack::SetImpactDweak(const float& aImpactDweak){fImpactDweak=aImpactDweak;}
+void AliFemtoTrack::SetImpactDmat(const float& aImpactDmat){fImpactDmat=aImpactDmat;}
+
void AliFemtoTrack::SetImpactZ(const float& aImpactZ){fImpactZ=aImpactZ;}
void AliFemtoTrack::SetCdd(const float& aCdd){fCdd=aCdd;}
void AliFemtoTrack::SetCdz(const float& aCdz){fCdz=aCdz;}
short AliFemtoTrack::Charge() const {return fCharge;}
AliFemtoThreeVector AliFemtoTrack::P() const {return fP;}
-float AliFemtoTrack::Pt() const {return fPt;}
+float AliFemtoTrack::Pt() const {return fPt;}
+float AliFemtoTrack::InnerMomentum() const {return fInnerMomentum;}
const AliFmPhysicalHelixD& AliFemtoTrack::Helix() const {return fHelix;}
int AliFemtoTrack::TrackId() const { return fTrackId; }
long int AliFemtoTrack::Flags() const {return fFlags;}
int AliFemtoTrack::Label()const {return fLabel;}
float AliFemtoTrack::ImpactD()const{return fImpactD;}
+
+float AliFemtoTrack::ImpactDprim()const{return fImpactDprim;}
+float AliFemtoTrack::ImpactDweak()const{return fImpactDweak;}
+float AliFemtoTrack::ImpactDmat()const{return fImpactDmat;}
+
float AliFemtoTrack::ImpactZ()const{return fImpactZ;}
float AliFemtoTrack::Cdd() const{return fCdd;}
float AliFemtoTrack::Cdz() const{return fCdz;}
AliFemtoThreeVector P() const;
float Pt() const;
+ float InnerMomentum() const;
+
const AliFmPhysicalHelixD& Helix() const;
int TrackId() const;
long int Flags() const;
int Label()const;
float ImpactD()const;
+
+ float ImpactDprim()const;
+ float ImpactDweak()const;
+ float ImpactDmat()const;
+
float ImpactZ()const;
float Cdd() const;
float Cdz() const;
void SetP(const AliFemtoThreeVector& p);
void SetPt(const float& x);
+ void SetInnerMomentum(const float& x);
void SetHelix(const AliFmPhysicalHelixD& h);
void SetTrackId(const int& s);
void SetFlags(const long int& i);
void SetLabel(const int& i);
void SetImpactD(const float& x);
+
+ void SetImpactDprim(const float& x);
+ void SetImpactDweak(const float& x);
+ void SetImpactDmat(const float& x);
+
void SetImpactZ(const float& x);
void SetCdd(const float& x);
void SetCdz(const float& x);
AliFemtoThreeVector fP; // track momentum
float fPt; // transverse momenta
+ float fInnerMomentum; // *total* momentum at the *inner* wall of the TPC
+
AliFmPhysicalHelixD fHelix; // track helix
//alice stuff
long int fFlags; //Reconsruction status flags
int fLabel; //Track label
float fImpactD; //impact parameter in xy plane
+
+ float fImpactDprim; //impact parameter in xy plane
+ float fImpactDweak; //impact parameter in xy plane
+ float fImpactDmat; //impact parameter in xy plane
+
float fImpactZ;//impacct parameter in z
float fCdd,fCdz,fCzz;//covariance matrix of the impact parameters
// ITS related track information
AliFemtoThreeVector fNominalTpcPoints[9];
AliFemtoThreeVector fNominalTpcExitPoint; // Nominal track exit point from TPC
-
-
int fKinkIndexes[3]; // Kink Index list
double fXatDCA;
fNominalTpcEntrancePointNeg(0,0,0),fNominalTpcExitPointNeg(0,0,0),
fTPCMomentumPos(0), fTPCMomentumNeg(0),
fTOFProtonTimePos(0), fTOFPionTimePos(0), fTOFKaonTimePos(0),
- fTOFProtonTimeNeg(0), fTOFPionTimeNeg(0), fTOFKaonTimeNeg(0),
+ fTOFProtonTimeNeg(0), fTOFPionTimeNeg(0), fTOFKaonTimeNeg(0),
+ fImpactDprimPos(-999), fImpactDweakPos(-999), fImpactDmatPos(-999), fImpactDprimNeg(-999), fImpactDweakNeg(-999), fImpactDmatNeg(-999),
fHiddenInfo(0) /***/
{
// Default empty constructor
fNominalTpcEntrancePointNeg(0,0,0),fNominalTpcExitPointNeg(0,0,0),
fTPCMomentumPos(0), fTPCMomentumNeg(0),
fTOFProtonTimePos(0), fTOFPionTimePos(0), fTOFKaonTimePos(0),
- fTOFProtonTimeNeg(0), fTOFPionTimeNeg(0), fTOFKaonTimeNeg(0),
+ fTOFProtonTimeNeg(0), fTOFPionTimeNeg(0), fTOFKaonTimeNeg(0),
+ fImpactDprimPos(0), fImpactDweakPos(0), fImpactDmatPos(0), fImpactDprimNeg(0), fImpactDweakNeg(0), fImpactDmatNeg(0),
fHiddenInfo(0) /***/
{
// copy constructor
fNominalTpcPointsNeg[i].SetZ(v.fNominalTpcPointsNeg[i].z());
}
+ fImpactDprimPos = v.fImpactDprimPos;
+ fImpactDweakPos = v.fImpactDweakPos;
+ fImpactDmatPos = v.fImpactDmatPos;
+ fImpactDprimNeg = v.fImpactDprimNeg;
+ fImpactDweakNeg = v.fImpactDweakNeg;
+ fImpactDmatNeg = v.fImpactDmatNeg;
+
fHiddenInfo = v.fHiddenInfo? v.fHiddenInfo->Clone() : 0;// GR 11 DEC 02
UpdateV0();
}
fNominalTpcPointsNeg[i].SetZ(aV0.fNominalTpcPointsNeg[i].z());
}
+ fImpactDprimPos = aV0.fImpactDprimPos;
+ fImpactDweakPos = aV0.fImpactDweakPos;
+ fImpactDmatPos = aV0.fImpactDmatPos;
+ fImpactDprimNeg = aV0.fImpactDprimNeg;
+ fImpactDweakNeg = aV0.fImpactDweakNeg;
+ fImpactDmatNeg = aV0.fImpactDmatNeg;
if (fHiddenInfo) delete fHiddenInfo;
fHiddenInfo = aV0.fHiddenInfo? aV0.fHiddenInfo->Clone() : 0;// GR 11 DEC 02
int NdofNeg() const;
unsigned long StatusPos() const;
unsigned long StatusNeg() const;
-
+
int TpcHitsPos() const; // Number of TPC hits on pos. daughter
int TpcHitsNeg() const; // Number of TPC hits on neg. daughter
double TOFPionTimeNeg() const;
double TOFKaonTimeNeg() const;
+ void SetImpactDprimPos(const float& x);
+ void SetImpactDweakPos(const float& x);
+ void SetImpactDmatPos(const float& x);
+ float ImpactDprimPos()const;
+ float ImpactDweakPos()const;
+ float ImpactDmatPos()const;
+ void SetImpactDprimNeg(const float& x);
+ void SetImpactDweakNeg(const float& x);
+ void SetImpactDmatNeg(const float& x);
+ float ImpactDprimNeg()const;
+ float ImpactDweakNeg()const;
+ float ImpactDmatNeg()const;
void SetprimaryVertex(const AliFemtoThreeVector v);//Gael 24 Sept 02
/* Th stuff */
double fTOFPionTimeNeg;
double fTOFKaonTimeNeg;
+
+ float fImpactDprimPos; //impact parameter in xy plane
+ float fImpactDweakPos; //impact parameter in xy plane
+ float fImpactDmatPos; //impact parameter in xy plane
+ float fImpactDprimNeg; //impact parameter in xy plane
+ float fImpactDweakNeg; //impact parameter in xy plane
+ float fImpactDmatNeg; //impact parameter in xy plane
+
/* Th stuff */
// Fab private : add mutable
mutable AliFemtoHiddenInfo* fHiddenInfo; //! Hidden info
inline double AliFemtoV0::TOFPionTimeNeg() const {return fTOFPionTimeNeg;}
inline double AliFemtoV0::TOFKaonTimeNeg() const {return fTOFKaonTimeNeg;}
+inline void AliFemtoV0::SetImpactDprimPos(const float& x) {fImpactDprimPos = x;}
+inline void AliFemtoV0::SetImpactDweakPos(const float& x) {fImpactDweakPos = x;}
+inline void AliFemtoV0::SetImpactDmatPos(const float& x) {fImpactDmatPos = x;}
+inline float AliFemtoV0::ImpactDprimPos() const {return fImpactDprimPos;}
+inline float AliFemtoV0::ImpactDweakPos() const {return fImpactDweakPos;}
+inline float AliFemtoV0::ImpactDmatPos() const {return fImpactDmatPos;}
+
+inline void AliFemtoV0::SetImpactDprimNeg(const float& x) {fImpactDprimNeg = x;}
+inline void AliFemtoV0::SetImpactDweakNeg(const float& x) {fImpactDweakNeg = x;}
+inline void AliFemtoV0::SetImpactDmatNeg(const float& x) {fImpactDmatNeg = x;}
+inline float AliFemtoV0::ImpactDprimNeg() const {return fImpactDprimNeg;}
+inline float AliFemtoV0::ImpactDweakNeg() const {return fImpactDweakNeg;}
+inline float AliFemtoV0::ImpactDmatNeg() const {return fImpactDmatNeg;}
+
#endif