1 #ifndef _AliDimuCombinator_H
2 #define _AliDimuCombinator_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
15 class AliDimuCombinator:
19 AliDimuCombinator(TClonesArray* Partarray){
21 fNParticle=fPartArray->GetEntriesFast();
40 TParticle* FirstMuon();
41 TParticle* NextMuon();
42 // Single muons selected
43 TParticle* FirstMuonSelected();
44 TParticle* NextMuonSelected();
46 void FirstMuonPair(TParticle* & muon1, TParticle* & muon2);
47 void NextMuonPair(TParticle* & muon1, TParticle* & muon2);
49 void FirstMuonPairSelected(TParticle* & muon1, TParticle* & muon2);
50 void NextMuonPairSelected(TParticle* & muon1, TParticle* & muon2);
51 // Loop over all prticles
53 // Set two ranges for dimuon loop
54 void SetFirstRange (Int_t from, Int_t to);
55 void SetSecondRange(Int_t from, Int_t to);
57 void SetPtMin(Float_t ptmin) {fPtMin=ptmin;}
58 void SetEtaCut(Float_t etamin, Float_t etamax){fEtaMin=etamin; fEtaMax=etamax;} Bool_t Selected(TParticle* part);
59 Bool_t Selected(TParticle* part1, TParticle* part2);
61 Float_t Mass(TParticle* part1, TParticle* part);
62 Float_t PT(TParticle* part1, TParticle* part);
63 Float_t Pz(TParticle* part1, TParticle* part);
64 Float_t Y(TParticle* part1, TParticle* part);
66 void SmearGauss(Float_t width, Float_t & value);
68 Bool_t Correlated(TParticle* part1, TParticle* part2);
69 void SetRate(Float_t rate){fRate1=rate;}
70 void SetRate(Float_t rate1, Float_t rate2 ){fRate1=rate1; fRate2=rate2;}
71 Float_t Weight(TParticle* part);
72 Float_t Weight(TParticle* part1, TParticle* part);
73 Float_t Decay_Prob(TParticle* part);
78 void FirstPartnerSelected();
79 void NextPartnerSelected();
80 Int_t Origin(TParticle* part);
81 TParticle* Parent(TParticle* part);
83 Int_t Type(TParticle *part){return part->GetPdgCode();}
85 TClonesArray *fPartArray;
100 ClassDef(AliDimuCombinator,1) // Dimuon Combinator