#include <AliKFParticle.h>
#include <AliVParticle.h>
+#include <AliVEvent.h>
class AliVVertex;
class AliVTrack;
void SetTracks(AliVTrack * const particle1, Int_t pid1,
AliVTrack * const particle2, Int_t pid2);
+ void SetGammaTracks(AliVTrack * const particle1, Int_t pid1,
+ AliVTrack * const particle2, Int_t pid2);
+
+
void SetTracks(const AliKFParticle * const particle1,
const AliKFParticle * const particle2,
AliVTrack * const refParticle1,
UChar_t GetType() const { return fType; }
void SetType(Char_t type) { fType=type; }
+ static void SetBeamEnergy(AliVEvent *ev, Double_t beamEbyHand=-1.);
// MC information
void SetLabel(Int_t label) {fLabel=label;}
Double_t DeviationDaughters() const { return fD1.GetDeviationFromParticle(fD2); }
Double_t DeviationDaughtersXY() const { return fD1.GetDeviationFromParticleXY(fD2); }
Double_t DeltaEta() const { return TMath::Abs(fD1.GetEta()-fD2.GetEta()); }
- Double_t DeltaPhi() const { Double_t dphi=TMath::Abs(fD1.GetPhi()-fD2.GetPhi());
- return (dphi>TMath::Pi())?dphi-TMath::Pi():dphi; }
+// Double_t DeltaPhi() const { Double_t dphi=TMath::Abs(fD1.GetPhi()-fD2.GetPhi());
+// return (dphi>TMath::Pi())?dphi-TMath::Pi():dphi; }
+ Double_t DeltaPhi() const { return fD1.GetAngleXY(fD2); }
// calculate cos(theta*) and phi* in HE and CS pictures
void GetThetaPhiCM(Double_t &thetaHE, Double_t &phiHE, Double_t &thetaCS, Double_t &phiCS) const;
+
Double_t ThetaPhiCM(Bool_t isHE, Bool_t isTheta) const;
static Double_t ThetaPhiCM(const AliVParticle* d1, const AliVParticle* d2,
const Bool_t isHE, const Bool_t isTheta);
Double_t PsiPair(Double_t MagField)const; //Angle cut w.r.t. to magnetic field
Double_t PhivPair(Double_t MagField)const; //Angle of ee plane w.r.t. to magnetic field
+
+ //Calculate the angle between ee decay plane and variables
+ Double_t GetPairPlaneAngle(const Double_t kv0CrpH2, const Int_t VariNum) const;
+
Double_t GetCosPointingAngle(const AliVVertex *primVtx) const;
+ Double_t GetArmAlpha() const;
+ Double_t GetArmPt() const;
+ void GetDCA(const AliVVertex *primVtx, Double_t d0z0[2]) const;
+
// internal KF particle
const AliKFParticle& GetKFParticle() const { return fPair; }
const AliKFParticle& GetKFFirstDaughter() const { return fD1; }
Char_t fType; // type of the pair e.g. like sign SE, unlike sign SE, ... see AliDielectron
Int_t fLabel; // MC label
Int_t fPdgCode; // pdg code in case it is a MC particle
+ static Double_t fBeamEnergy; //!beam energy
AliKFParticle fPair; // KF particle internally used for pair calculation
AliKFParticle fD1; // KF particle first daughter
TRef fRefD1; // Reference to first daughter
TRef fRefD2; // Reference to second daughter
- Bool_t fKFUsage;
+ Bool_t fKFUsage; // Use KF for vertexing
- ClassDef(AliDielectronPair,4)
+ ClassDef(AliDielectronPair,5)
};
#endif
+