]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONPairLight.h
Updated for changes in the framework to make to make
[u/mrichter/AliRoot.git] / MUON / AliMUONPairLight.h
CommitLineData
55fd51b0 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
929be614 9/// \ingroup evaluation
55fd51b0 10/// \class AliMUONPairLight
11/// \brief Compact information for the generated muon pairs
12///
13/// Compact information for the generated muon pairs in the MUON arm
14/// useful at the last stage of the analysis chain
15/// Pairs are built with two AliMUONTrackLight objects
16/// Using the class AliMUONTrackLight this class combines the decay
17/// information ("history") of the reconstructed tracks and fills
18/// a series of flags for the formed reconstructed dimuon:
19/// fIsCorrelated, fCreationProcess, fIsFeedDown, ...
20/// for information about the dimuon, use PrintInfo with the appropriate
21/// printflag
22/// To be used together with AliMUONTrackLight
23///
24/// \author This class was prepared by INFN Cagliari, July 2006
25/// (authors: H.Woehri, A.de Falco)
26
27// MUON classes
28#include "AliMUONTrackLight.h"
29
30// ROOT classes
31//#include "TLorentzVector.h"
32class TLorentzVector;
33
34class AliMUONPairLight : public TObject {
35public:
36 AliMUONPairLight();
37 AliMUONPairLight(AliMUONPairLight &dimuCopy);
38 virtual ~AliMUONPairLight();
39 virtual void SetMuons(AliMUONTrackLight mu0, AliMUONTrackLight mu1);
b88403f3 40 AliMUONTrackLight* GetMuon(Int_t index) ;
55fd51b0 41 Int_t GetMuonMotherPDG(Int_t imuon, Int_t mother=0) ;
b88403f3 42
43 /// \todo add comment
55fd51b0 44 Bool_t IsOpenCharm() {return (TMath::Abs(fMu0.GetParentFlavour(0))==4 && TMath::Abs(fMu1.GetParentFlavour(0))==4 && fIsCorrelated && !IsAResonance());}
b88403f3 45 /// \todo add comment
55fd51b0 46 Bool_t IsOpenBeauty() {return (TMath::Abs(fMu0.GetParentFlavour(0))==5 && TMath::Abs(fMu1.GetParentFlavour(0))==5 && fIsCorrelated && !IsAResonance());}
47 Bool_t IsAResonance();
b88403f3 48 /// \todo add comment
49 Bool_t IsOneMuonFromPionOrKaon(){return (fMu0.IsParentPionOrKaon(0) || fMu1.IsParentPionOrKaon(0));}
50 /// Return the info if the two muons are of correlated origin
55fd51b0 51 Bool_t IsCorrelated() const {return fIsCorrelated;}
b88403f3 52 /// Return the pdg of common mother
55fd51b0 53 Int_t GetCauseOfCorrelation() const {return fCauseOfCorrelation;}
b88403f3 54 /// Return the info if the process is from feeddown
55fd51b0 55 Bool_t IsFeedDown() const {return fIsFeedDown;}
b88403f3 56 /// \todo add comment
55fd51b0 57 Bool_t IsOneTrackNotAMuon() {return (!( fMu0.IsAMuon() && fMu1.IsAMuon() )) ;}
b88403f3 58 /// \todo add comment
55fd51b0 59 Int_t GetCharge() {return fMu0.GetCharge() + fMu1.GetCharge();}
b88403f3 60 /// \brief Return the info ablout creation process
61 ///0: pair creation, 1: gluon splitting, 2: flavour excitation, 3: same fragmented mother, -1: resonance
55fd51b0 62 Int_t GetCreationProcess() const {return fCreationProcess;}
b88403f3 63 /// Set the info ablout creation process
55fd51b0 64 void SetCorrelated(Bool_t answer) {fIsCorrelated = answer; }
b88403f3 65 /// Set the pdg of common mother
55fd51b0 66 void SetCauseOfCorrelation(Int_t pdg) {fCauseOfCorrelation = pdg; }
b88403f3 67 /// Set the info if the process is from feeddown
55fd51b0 68 void SetFeedDown(Int_t answer) {fIsFeedDown = answer;}
b88403f3 69 /// \todo add comment
55fd51b0 70 TLorentzVector GetPRec(){return fMu0.GetPRec()+fMu1.GetPRec();}
b88403f3 71 /// \todo add comment
55fd51b0 72 TLorentzVector GetPGen(){return fMu0.GetPGen()+fMu1.GetPGen();}
73 Double_t GetOpeningAngle();
74 virtual void PrintInfo(Option_t* opt);//"H" single muons' decay histories
75 //"K" dimuon kinematics
76 //"F" dimuon flags
77 //"A" all variables
b88403f3 78
55fd51b0 79protected:
b88403f3 80 /// Checks if muons are correlated and assigns
81 void SetProcess();
55fd51b0 82
b88403f3 83 AliMUONTrackLight fMu0; ///< first muon
84 AliMUONTrackLight fMu1; ///< second muon
85 Int_t fCreationProcess; ///<0: pair creation, 1: gluon splitting, 2: flavour excitation, 3: same fragmented mother, -1: resonance
86 Bool_t fIsCorrelated; ///<tells if the two muons are of correlated origin
87 Int_t fCauseOfCorrelation; ///<pdg of common mother
88 Int_t fIsFeedDown; ///< tells if the process is from feeddown
55fd51b0 89
90 ClassDef(AliMUONPairLight,1) /// Dimuon carrying info at generation and reconstruction level
91};
92#endif