fHistV0Chi2Xi(0),
fHistDcaV0DaughtersXi(0),
fHistDcaV0ToPrimVertexXi(0),
- fHistV0CosineOfPointingAngleXi(0),
+ fHistV0CosineOfPointingAngle(0),
fHistV0RadiusXi(0),
fHistDcaPosToPrimVertexXi(0), fHistDcaNegToPrimVertexXi(0),
fHistV0Chi2Xi(0),
fHistDcaV0DaughtersXi(0),
fHistDcaV0ToPrimVertexXi(0),
- fHistV0CosineOfPointingAngleXi(0),
+ fHistV0CosineOfPointingAngle(0),
fHistV0RadiusXi(0),
fHistDcaPosToPrimVertexXi(0), fHistDcaNegToPrimVertexXi(0),
fListHistCascade->Add(fHistDcaV0ToPrimVertexXi);
}
-if (! fHistV0CosineOfPointingAngleXi) {
- fHistV0CosineOfPointingAngleXi = new TH1F("fHistV0CosineOfPointingAngleXi", "Cosine of V0 Pointing Angle, in cascade;Cos(V0 Point. Angl); Counts", 200, 0.95, 1.0001);
- fListHistCascade->Add(fHistV0CosineOfPointingAngleXi);
+if (! fHistV0CosineOfPointingAngle) {
+ fHistV0CosineOfPointingAngle = new TH1F("fHistV0CosineOfPointingAngle", "Cosine of V0 Pointing Angle, in cascade;Cos(V0 Point. Angl); Counts", 200, 0.95, 1.0001);
+ fListHistCascade->Add(fHistV0CosineOfPointingAngle);
}
if (! fHistV0RadiusXi) {
//5
fCFContCascadeCuts->SetBinLimits(5, 0., 2.); // DcaV0DaughtersXi : 0.0 to 2.0
//6
- fCFContCascadeCuts->SetBinLimits(6, .95, 1.0005); // V0CosineOfPointingAngleXi : 0.99 to 1.0
+ fCFContCascadeCuts->SetBinLimits(6, .98, 1.0002); // V0CosineOfPointingAngleXi : 0.99 to 1.0
//7
Double_t *lBinLim7 = new Double_t[ lNbBinsPerVar[7]+1 ];
for(Int_t i=0; i< lNbBinsPerVar[7]-1;i++) lBinLim7[i] = (Double_t)0.0 + (100. - 0.0 )/(lNbBinsPerVar[7]-2) * (Double_t)i ;
Double_t lDcaBachToPrimVertexXi = -1., lDcaV0ToPrimVertexXi = -1.;
Double_t lDcaPosToPrimVertexXi = -1.;
Double_t lDcaNegToPrimVertexXi = -1.;
- Double_t lV0CosineOfPointingAngleXi = -1. ;
+ Double_t lV0CosineOfPointingAngle = -1. ;
+ Double_t lV0toXiCosineOfPointingAngle = 0. ;
+
Double_t lPosV0Xi[3] = { -1000. , -1000., -1000. }; // Position of VO coming from cascade
Double_t lV0RadiusXi = -1000.0;
Double_t lV0quality = 0.;
Double_t lBachTotMom = 0.;
Short_t lChargeXi = -2;
- Double_t lV0toXiCosineOfPointingAngle = 0. ;
Double_t lRapXi = -20.0, lRapOmega = -20.0, lEta = -20.0, lTheta = 360., lPhi = 720. ;
Double_t lAlphaXi = -200., lPtArmXi = -200.0;
lDcaV0DaughtersXi = xi->GetDcaV0Daughters();
lV0Chi2Xi = xi->GetChi2V0();
- lV0CosineOfPointingAngleXi = xi->GetV0CosineOfPointingAngle(lBestPrimaryVtxPos[0],
+ lV0CosineOfPointingAngle = xi->GetV0CosineOfPointingAngle(lBestPrimaryVtxPos[0],
lBestPrimaryVtxPos[1],
lBestPrimaryVtxPos[2] );
- //if (lV0CosineOfPointingAngleXi==1.) cout << "Cosine V0 PA wrt Xi pos ==1!" <<endl;
lDcaV0ToPrimVertexXi = xi->GetD( lBestPrimaryVtxPos[0],
lBestPrimaryVtxPos[1],
// if (TMath::Abs(lInvMassLambdaAsCascDghter-1.11568) > 0.006 ) continue; // in AliCascadeVertexer
if (lDcaV0DaughtersXi > 1.) continue; // in AliV0vertexer
- if (lV0CosineOfPointingAngleXi < 0.998) continue; // in AliV0vertexer
+ if (lV0toXiCosineOfPointingAngle < 0.998) continue; // in AliV0vertexer
if (lDcaPosToPrimVertexXi < 0.1) continue; // in AliV0vertexer
if (lDcaNegToPrimVertexXi < 0.1) continue; // in AliV0vertexer
lPosV0Xi[2] = xi->DecayVertexV0Z();
lV0RadiusXi = TMath::Sqrt( lPosV0Xi[0]*lPosV0Xi[0] + lPosV0Xi[1]*lPosV0Xi[1] );
- lV0CosineOfPointingAngleXi = xi->CosPointingAngle( lBestPrimaryVtxPos );
+ lV0CosineOfPointingAngle = xi->CosPointingAngle( lBestPrimaryVtxPos );
lDcaPosToPrimVertexXi = xi->DcaPosToPrimVertex();
lDcaNegToPrimVertexXi = xi->DcaNegToPrimVertex();
fHistMassLambdaAsCascDghter ->Fill( lInvMassLambdaAsCascDghter ); // Flag CascadeVtxer: Cut Variable c
fHistV0Chi2Xi ->Fill( lV0Chi2Xi );
fHistDcaV0DaughtersXi ->Fill( lDcaV0DaughtersXi );
- fHistV0CosineOfPointingAngleXi ->Fill( lV0CosineOfPointingAngleXi );
+ fHistV0CosineOfPointingAngle ->Fill( lV0CosineOfPointingAngle );
fHistV0RadiusXi ->Fill( lV0RadiusXi );
fHistDcaV0ToPrimVertexXi ->Fill( lDcaV0ToPrimVertexXi ); // Flag CascadeVtxer: Cut Variable b
lContainerCutVars[3] = lXiRadius;
lContainerCutVars[4] = lInvMassLambdaAsCascDghter;
lContainerCutVars[5] = lDcaV0DaughtersXi;
- lContainerCutVars[6] = lV0toXiCosineOfPointingAngle;
+ lContainerCutVars[6] = lV0CosineOfPointingAngle;//lV0toXiCosineOfPointingAngle;
lContainerCutVars[7] = lV0RadiusXi;
lContainerCutVars[8] = lDcaV0ToPrimVertexXi;
lContainerCutVars[9] = lDcaPosToPrimVertexXi;
}
if (! fHistV0CosineOfPointingAnglevsPtXi) {
- fHistV0CosineOfPointingAnglevsPtXi = new TH2F("fHistV0CosineOfPointingAnglevsPtXi", "Cos. of V0 Ptng Angl vs cascade Pt ;Cos(V0 Point. Angl); Counts",100, 0., 10., 200, 0.95, 1.0001);
+ fHistV0CosineOfPointingAnglevsPtXi = new TH2F("fHistV0CosineOfPointingAnglevsPtXi", "Cos. of V0 Ptng Angl vs cascade Pt ;Cascade p_{T} (GeV/c); Cos(V0PA) wrt Xi vtx",100, 0., 10., 251, 0.95, 1.0002);
fListHistCascade->Add(fHistV0CosineOfPointingAnglevsPtXi);
}
if (! fHistV0CosineOfPointingAnglevsPtOmega) {
- fHistV0CosineOfPointingAnglevsPtOmega = new TH2F("fHistV0CosineOfPointingAnglevsPtOmega", "Cos. of V0 Ptng Angl vs cascade Pt ;Cos(V0 Point. Angl); Counts",100, 0., 10., 200, 0.95, 1.0001);
+ fHistV0CosineOfPointingAnglevsPtOmega = new TH2F("fHistV0CosineOfPointingAnglevsPtOmega", "Cos. of V0 Ptng Angl vs cascade Pt ;Cascade p_{T} (GeV/c); Cos(V0PA) wrt Omega vtx",100, 0., 10., 251, 0.95, 1.0002);
fListHistCascade->Add(fHistV0CosineOfPointingAnglevsPtOmega);
}
-
-
- // - PID container
+
+ // - PID container
if(! fCFContCascadePIDAsXiMinus) {
const Int_t lNbSteps = 7 ;
const Int_t lNbVariables = 4 ;
fCFContAsCascadeCuts -> SetBinLimits(1, lBinLim1 );
delete [] lBinLim1; // DcaBachToPrimVertexXi : 0.0 to 0.5
//2
- fCFContAsCascadeCuts->SetBinLimits(2, .9988, 1.); // XiCosineOfPointingAngle : 0.99 to 1.0
+ fCFContAsCascadeCuts->SetBinLimits(2, .9988, 1.); // XiCosineOfPointingAngle : 0.99 to 1.0
//3
fCFContAsCascadeCuts -> SetBinLimits(3, 0., 110. ); // XiRadius : 0.0 to 110.0
//4
- fCFContAsCascadeCuts->SetBinLimits(4, 1.1, 1.13); // InvMassLambdaAsCascDghter
+ fCFContAsCascadeCuts->SetBinLimits(4, 1.1, 1.13); // InvMassLambdaAsCascDghter
//5
- fCFContAsCascadeCuts->SetBinLimits(5, 0., 2.); // DcaV0DaughtersXi : 0.0 to 2.0
+ fCFContAsCascadeCuts->SetBinLimits(5, 0., 2.); // DcaV0DaughtersXi : 0.0 to 2.0
//6
- fCFContAsCascadeCuts->SetBinLimits(6, 0.95, 1.0005); // V0CosineOfPointingAngleXi : 0.99 to 1.0 // temporary test 1.1
+ fCFContAsCascadeCuts->SetBinLimits(6, 0.98, 1.0002); // V0CosineOfPointingAngleXi : 0.98 to 1.0
//7
Double_t *lBinLim7 = new Double_t[ lNbBinsPerVar[7]+1 ];
for(Int_t i=0; i< lNbBinsPerVar[7]-1;i++) lBinLim7[i] = (Double_t)0.0 + (100. - 0.0 )/(lNbBinsPerVar[7]-2) * (Double_t)i ;
Double_t lInvMassLambdaAsCascDghter = 0.;
Double_t lDcaV0DaughtersXi = -1.;
// Double_t lV0Chi2Xi = -1. ;
-Double_t lV0CosineOfPointingAngleXi = -1.;
-Double_t lV0CosineOfPointingAngle = -1.;
+Double_t lV0CosineOfPointingAngle = -1.;
+Double_t lV0toXiCosineOfPointingAngle = -1.;
Double_t lPosV0Xi[3] = { -1000. , -1000., -1000. }; // Position of VO coming from cascade
Double_t lV0RadiusXi = -1000.;
Double_t lDcaV0ToPrimVertexXi = -1.;
// This value shouldn't change, whatever the working hyp. is : Xi-, Xi+, Omega-, Omega+
lDcaV0DaughtersXi = xiESD->GetDcaV0Daughters();
// lV0Chi2Xi = xiESD->GetChi2V0();
- lV0CosineOfPointingAngleXi = xiESD->GetV0CosineOfPointingAngle( lPosXi[0],
+ lV0toXiCosineOfPointingAngle = xiESD->GetV0CosineOfPointingAngle( lPosXi[0],
lPosXi[1],
lPosXi[2] );
lBestPrimaryVtxPos[1],
lBestPrimaryVtxPos[2]);
- //if (lV0CosineOfPointingAngleXi==1.) cout << "Cosine V0 PA wrt Xi pos ==1!" <<endl;
- //else if (lV0CosineOfPointingAngleXi>1.) cout <<"Cosine V0 PA wrt Xi pos >1!"<<endl;
+ //if (lV0toXiCosineOfPointingAngle==1.) cout << "Cosine V0 PA wrt Xi pos ==1!" <<endl;
+ //else if (lV0toXiCosineOfPointingAngle>1.) cout <<"Cosine V0 PA wrt Xi pos >1!"<<endl;
xiESD->GetXYZ( lPosV0Xi[0], lPosV0Xi[1], lPosV0Xi[2] );
lDcaV0ToPrimVertexXi = xiESD->GetD( lBestPrimaryVtxPos[0],
// This value shouldn't change, whatever the working hyp. is : Xi-, Xi+, Omega-, Omega+
lDcaV0DaughtersXi = xiAOD->DcaV0Daughters();
// lV0Chi2Xi = xiAOD->GetChi2V0();
- lV0CosineOfPointingAngleXi = xiAOD->CosPointingAngle( lPosXi );
+ lV0toXiCosineOfPointingAngle = xiAOD->CosPointingAngle( lPosXi );
lV0CosineOfPointingAngle = xiAOD->CosPointingAngle( lBestPrimaryVtxPos );
//// if (TMath::Abs(lInvMassLambdaAsCascDghter-1.11568) > 0.006 ) continue; // in AliCascadeVertexer
if (lDcaV0DaughtersXi > 1.) continue; // in AliV0vertexer
- if (lV0CosineOfPointingAngleXi < 0.998) continue; // in AliV0vertexer
+ if (lV0toXiCosineOfPointingAngle < 0.998) continue; // in AliV0vertexer
if (lDcaPosToPrimVertexXi < 0.1) continue; // in AliV0vertexer
if (lDcaNegToPrimVertexXi < 0.1) continue; // in AliV0vertexer
fHistV0CosineOfPointingAnglevsPtOmega->Fill(lmcPt,lV0CosineOfPointingAngle);
}
- fHistV0toXiCosineOfPointingAngle->Fill(lV0CosineOfPointingAngleXi);
+ fHistV0toXiCosineOfPointingAngle->Fill(lV0toXiCosineOfPointingAngle);
// - Step 6 : Containers = Cascade cuts + PID
//-------------
lContainerCutVars[3] = lXiRadius;
lContainerCutVars[4] = lInvMassLambdaAsCascDghter;
lContainerCutVars[5] = lDcaV0DaughtersXi;
- lContainerCutVars[6] = lV0CosineOfPointingAngleXi;
+ lContainerCutVars[6] = lV0CosineOfPointingAngle;
lContainerCutVars[7] = lV0RadiusXi;
lContainerCutVars[8] = lDcaV0ToPrimVertexXi;
lContainerCutVars[9] = lDcaPosToPrimVertexXi;