1 #ifndef _DimuonCombinator_H
2 #define _DimuonCombinator_H
10 class DimuonCombinator:
14 DimuonCombinator(TClonesArray* Partarray){
16 fNParticle=fPartArray->GetEntriesFast();
34 GParticle* FirstMuon();
35 GParticle* NextMuon();
36 GParticle* FirstMuonSelected();
37 GParticle* NextMuonSelected();
39 void FirstMuonPair(GParticle* & muon1, GParticle* & muon2);
40 void NextMuonPair(GParticle* & muon1, GParticle* & muon2);
41 void FirstMuonPairSelected(GParticle* & muon1, GParticle* & muon2);
42 void NextMuonPairSelected(GParticle* & muon1, GParticle* & muon2);
44 void SetFirstRange (Int_t from, Int_t to);
45 void SetSecondRange(Int_t from, Int_t to);
47 void SetPtMin(Float_t ptmin){fPtMin=ptmin;}
48 void SetEtaCut(Float_t etamin, Float_t etamax){fEtaMin=etamin; fEtaMax=etamax;}
49 Int_t Selected(GParticle* part);
50 Int_t Selected(GParticle* part1, GParticle* part2);
52 Float_t Mass(GParticle* part1, GParticle* part);
53 Float_t PT(GParticle* part1, GParticle* part);
54 Float_t Pz(GParticle* part1, GParticle* part);
55 Float_t Y(GParticle* part1, GParticle* part);
57 void SmearGauss(Float_t width, Float_t & value);
60 void SetRate(Float_t rate){fRate1=rate;}
61 void SetRate(Float_t rate1, Float_t rate2 ){fRate1=rate1; fRate2=rate2;}
62 Float_t Weight(GParticle* part);
63 Float_t Weight(GParticle* part1, GParticle* part);
68 void FirstPartnerSelected();
69 void NextPartnerSelected();
72 Int_t Type(GParticle *part){return part->GetKF();}
74 TClonesArray *fPartArray;
89 ClassDef(DimuonCombinator,1)