AliRoot Core  3abf5b4 (3abf5b4)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONPairLight.h
Go to the documentation of this file.
1 #ifndef ALIMUONPAIRLIGHT_H
2 #define ALIMUONPAIRLIGHT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 // Revision of includes 06/09/2006
8 
26 
27 // MUON classes
28 #include "AliMUONTrackLight.h"
29 
30 // ROOT classes
31 //#include "TLorentzVector.h"
32 class TLorentzVector;
33 
34 class AliMUONPairLight : public TObject {
35 public:
38  virtual ~AliMUONPairLight();
40  virtual void SetMuons(const AliMUONTrackLight& mu0, const AliMUONTrackLight& mu1);
41  AliMUONTrackLight* GetMuon(Int_t index) ;
42  Int_t GetMuonMotherPDG(Int_t imuon, Int_t mother=0) ;
43 
45  Bool_t IsOpenCharm() {return (TMath::Abs(fMu0.GetParentFlavour(0))==4 && TMath::Abs(fMu1.GetParentFlavour(0))==4 && fIsCorrelated && !IsAResonance());}
47  Bool_t IsOpenBeauty() {return (TMath::Abs(fMu0.GetParentFlavour(0))==5 && TMath::Abs(fMu1.GetParentFlavour(0))==5 && fIsCorrelated && !IsAResonance());}
48  Bool_t IsAResonance();
52  Bool_t IsCorrelated() const {return fIsCorrelated;}
56  Bool_t IsFeedDown() const {return fIsFeedDown;}
58  Bool_t IsOneTrackNotAMuon() {return (!( fMu0.IsAMuon() && fMu1.IsAMuon() )) ;}
60  Int_t GetCharge() {return fMu0.GetCharge() + fMu1.GetCharge();}
63  Int_t GetCreationProcess() const {return fCreationProcess;}
65  void SetCorrelated(Bool_t answer) {fIsCorrelated = answer; }
67  void SetCauseOfCorrelation(Int_t pdg) {fCauseOfCorrelation = pdg; }
69  void SetFeedDown(Int_t answer) {fIsFeedDown = answer;}
71  TLorentzVector GetPRec(){return fMu0.GetPRec()+fMu1.GetPRec();}
73  TLorentzVector GetPGen(){return fMu0.GetPGen()+fMu1.GetPGen();}
74  Double_t GetOpeningAngle();
75  Bool_t IsDimuonFromCorrPiK();
76  virtual void PrintInfo(const Option_t* opt);//"H" single muons' decay histories
77  //"K" dimuon kinematics
78  //"F" dimuon flags
79  //"A" all variables
80 
81 protected:
83  void SetProcess();
84 
88  Bool_t fIsCorrelated;
90  Int_t fIsFeedDown;
91 
92  ClassDef(AliMUONPairLight,1)
93 };
94 #endif
AliMUONTrackLight * GetMuon(Int_t index)
Bool_t IsAMuon() const
Return info if is a muon.
TLorentzVector GetPRec() const
Return reconstructed 4-momentum.
Int_t fIsFeedDown
tells if the process is from feeddown
void SetCorrelated(Bool_t answer)
Set the info ablout creation process.
virtual ~AliMUONPairLight()
Bool_t IsOpenBeauty()
returns kTRUE if the creation process of the pair was "open beauty" (kFALSE... otherwise) ...
Bool_t IsOneTrackNotAMuon()
returns kTRUE if at least one of the reconstructed tracks is not a muon (kFALSE... otherwise)
Bool_t IsOpenCharm()
returns kTRUE if the creation process of the pair was "open charm" (kFALSE... otherwise) ...
Double_t GetOpeningAngle()
AliMUONTrackLight fMu0
first muon
Int_t GetMuonMotherPDG(Int_t imuon, Int_t mother=0)
void SetCauseOfCorrelation(Int_t pdg)
Set the pdg of common mother.
AliMUONPairLight & operator=(const AliMUONPairLight &)
void SetProcess()
Checks if muons are correlated and assigns.
Bool_t IsParentPionOrKaon(Int_t idParent=0)
virtual void PrintInfo(const Option_t *opt)
Int_t GetCauseOfCorrelation() const
Return the pdg of common mother.
Int_t fCreationProcess
0: pair creation, 1: gluon splitting, 2: flavour excitation, 3: same fragmented mother, -1: resonance
TLorentzVector GetPRec()
returns a TLorentzVector containing the reconstructed kinematics of the pair
Int_t fCauseOfCorrelation
pdg of common mother
Int_t GetCreationProcess() const
Return the info ablout creation process 0: pair creation, 1: gluon splitting, 2: flavour excitation...
Int_t GetParentFlavour(Int_t idParent=0) const
void SetFeedDown(Int_t answer)
Set the info if the process is from feeddown.
Compact information for the muon generated tracks.
Compact information for the generated muon pairs.
TLorentzVector GetPGen()
returns a TLorentzVector containing the generated kinematics of the pair
Bool_t IsCorrelated() const
Return the info if the two muons are of correlated origin.
AliMUONTrackLight fMu1
second muon
Int_t GetCharge()
returns the charge of the created pair
virtual void SetMuons(const AliMUONTrackLight &mu0, const AliMUONTrackLight &mu1)
Int_t GetCharge() const
Return muon charge.
TLorentzVector GetPGen() const
Return 4-momentum of the generated particle.
Bool_t IsFeedDown() const
Return the info if the process is from feeddown.
Bool_t fIsCorrelated
tells if the two muons are of correlated origin
Bool_t IsOneMuonFromPionOrKaon()
returns kTRUE if at least one of the first hadronised parent is a pi or a K (kFALSE... otherwise)