1 #ifndef _AliDimuCombinator_H
2 #define _AliDimuCombinator_H
10 class AliDimuCombinator:
14 AliDimuCombinator(TClonesArray* Partarray){
16 fNParticle=fPartArray->GetEntriesFast();
35 TParticle* FirstMuon();
36 TParticle* NextMuon();
37 // Single muons selected
38 TParticle* FirstMuonSelected();
39 TParticle* NextMuonSelected();
41 void FirstMuonPair(TParticle* & muon1, TParticle* & muon2);
42 void NextMuonPair(TParticle* & muon1, TParticle* & muon2);
44 void FirstMuonPairSelected(TParticle* & muon1, TParticle* & muon2);
45 void NextMuonPairSelected(TParticle* & muon1, TParticle* & muon2);
46 // Loop over all prticles
48 // Set two ranges for dimuon loop
49 void SetFirstRange (Int_t from, Int_t to);
50 void SetSecondRange(Int_t from, Int_t to);
52 void SetPtMin(Float_t ptmin) {fPtMin=ptmin;}
53 void SetEtaCut(Float_t etamin, Float_t etamax){fEtaMin=etamin; fEtaMax=etamax;} Bool_t Selected(TParticle* part);
54 Bool_t Selected(TParticle* part1, TParticle* part2);
56 Float_t Mass(TParticle* part1, TParticle* part);
57 Float_t PT(TParticle* part1, TParticle* part);
58 Float_t Pz(TParticle* part1, TParticle* part);
59 Float_t Y(TParticle* part1, TParticle* part);
61 void SmearGauss(Float_t width, Float_t & value);
63 Bool_t Correlated(TParticle* part1, TParticle* part2);
64 void SetRate(Float_t rate){fRate1=rate;}
65 void SetRate(Float_t rate1, Float_t rate2 ){fRate1=rate1; fRate2=rate2;}
66 Float_t Weight(TParticle* part);
67 Float_t Weight(TParticle* part1, TParticle* part);
68 Float_t Decay_Prob(TParticle* part);
73 void FirstPartnerSelected();
74 void NextPartnerSelected();
75 Int_t Origin(TParticle* part);
76 TParticle* Parent(TParticle* part);
78 Int_t Type(TParticle *part){return part->GetPdgCode();}
80 TClonesArray *fPartArray;
95 ClassDef(AliDimuCombinator,1) // Dimuon Combinator