virtual Double_t GetQSideLCMS(); //returns Q Side CMS longitudionally co-moving
virtual Double_t GetQOutLCMS(); //returns Q out CMS longitudionally co-moving
virtual Double_t GetQLongLCMS(); //returns Q Long CMS longitudionally co-moving
+ virtual Double_t GetQtLCMS(); //returns Q transverse CMS longitudionally co-moving
+
+ virtual Double_t GetQt(); //returns Q transverse to Kt
virtual Double_t GetKt(); //returns K transverse
virtual Double_t GetKStar();
+ virtual Double_t GetKStarOut(); //z.ch.
+ virtual Double_t GetKStarSide(); //z.ch.
+ virtual Double_t GetKStarLong(); //z.ch.
+
virtual Double_t GetAvarageDistance();//returns avarage distnace between two tracks
- virtual Double_t GetDeltaP(); //return difference of momenta
+ virtual Double_t GetDeltaE(); //return difference of Energies
+ virtual Double_t GetDeltaP(); //return difference of momenta (scalar difference)
+ virtual Double_t GetDeltaPvector(); //return legth of difference vector of momenta
virtual Double_t GetDeltaPt();
virtual Double_t GetDeltaPx();
virtual Double_t GetDeltaPy();
Double_t fQLongLCMS; //value of Q long CMS longitudially co-moving
Bool_t fQLongLCMSNotCalc;//flag indicating if fQLongLCMS is already calculated for this pair
+
+ Double_t fQtLCMS; //value of Qt CMS longitudially co-moving (hypot(qsidelcms,qoutlcms))
+ Bool_t fQtLCMSNotCalc;//flag indicating if fQLongLCMS is already calculated for this pair
+
+ Double_t fQt; //value of Qt, projection of 3-mom diff to Kt
+ Bool_t fQtNotCalc;//flag indicating if fQt is already calculated for this pair
+
/************************************************************/
/************************************************************/
Double_t fQInv; //half of differnece of 4-momenta
Double_t fKStar; // KStar
Bool_t fKStarNotCalc;// flag indicating if fKStar is calculated
-
+ Double_t fKStarOut; // KStarOut z.ch.
+ Double_t fKStarSide;// KStarSide z.ch.
+ Double_t fKStarLong;// KStarLong z.ch.
+
+ Bool_t fKStarCompNotCalc; // flag indicating if CalcuteKStarComp() is calculated z.ch.
+
Double_t fPInv; //invariant momentum
Double_t fQSide; //Q Side
Double_t fESum;// Sum of energies
Bool_t fSumsNotCalc;//flag indicating if fPxSum,fPxSum,fPxSum and fESum is calculated for current pair
void CalculateSums();
+ void CalculateKStarComp();
Double_t fPxDiff;// Difference of Px momenta
Double_t fPyDiff;// Difference of Px momenta
fQSideLCMSNotCalc = kTRUE;
fQOutLCMSNotCalc = kTRUE;
fQLongLCMSNotCalc = kTRUE;
+ fQtLCMSNotCalc = kTRUE;
+ fQtNotCalc = kTRUE;
fKtNotCalc = kTRUE;
fKStarNotCalc = kTRUE;
+ fKStarCompNotCalc = kTRUE;
fQInvLNotCalc = kTRUE;
fGammaLCMSNotCalc = kTRUE;
fAvarageDistanceNotCalc = kTRUE;
fSumsNotCalc = kFALSE;
}
}
+/****************************************************************/
+inline
+void AliAODPair::CalculateKStarComp()
+{
+
+ if (fKStarCompNotCalc)
+ {
+ CalculateSums();
+
+ Double_t ptrans = fPxSum*fPxSum + fPySum*fPySum;
+ Double_t mtrans = fESum*fESum - fPzSum*fPzSum;
+ Double_t pinv = TMath::Sqrt(mtrans - ptrans);
+ ptrans = TMath::Sqrt(ptrans);
+ mtrans = TMath::Sqrt(mtrans);
+
+ Double_t px1 = fPart1->Px();
+ Double_t py1 = fPart1->Py();
+ Double_t pz1 = fPart1->Pz();
+ Double_t pE1 = fPart1->E();
+
+ // boost to LCMS
+ Double_t beta = fPzSum / fESum;
+ Double_t gamma = fESum / mtrans;
+
+ fKStarLong = gamma * (pz1 - beta * pE1);
+ double temp = gamma * (pE1 - beta * pz1);
+
+ // rotate in transverse plane
+ fKStarSide = (-px1*fPySum + py1*fPxSum)/ptrans;
+ fKStarOut = ( px1*fPxSum + py1*fPySum)/ptrans;
+
+ // go from LCMS to CMS
+ gamma = mtrans/pinv;
+ beta = ptrans/mtrans;
+ fKStarOut = gamma * (fKStarOut - beta * temp);
+
+ fKStarCompNotCalc = kFALSE;
+ }
+}
+
/****************************************************************/
inline
void AliAODPair::CalculateDiffs()
}
/****************************************************************/
+
+inline
+Double_t AliAODPair::GetDeltaE()
+{
+ //returns difference of energies
+ return fPart1->E() - fPart2->E();
+}
+/****************************************************************/
+
+inline
+Double_t AliAODPair::GetDeltaP()
+{
+ //returns difference of momenta (scalars)
+ return fPart1->P() - fPart2->P();
+}
+/****************************************************************/
+
inline
-Double_t AliAODPair::GetDeltaP() //return difference of momenta
+Double_t AliAODPair::GetDeltaPvector() //return difference of momenta
{
- //returns difference of momenta (length of vector)
+ //returns legth of the momenta difference vector
CalculateDiffs();
return TMath::Sqrt(fPxDiff*fPxDiff + fPyDiff*fPyDiff + fPzDiff*fPzDiff);
}