]>
Commit | Line | Data |
---|---|---|
f87cfe57 | 1 | #ifndef ALIDIMUCOMBINATOR_H |
2 | #define ALIDIMUCOMBINATOR_H | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
f87cfe57 | 7 | #include <TObject.h> |
d430df3f | 8 | #include <TParticle.h> |
3da30618 | 9 | |
f87cfe57 | 10 | class TClonesArray; |
11 | class TParticle; | |
fe4da5cc | 12 | |
13 | ||
dafbc1c5 | 14 | class AliDimuCombinator: |
fe4da5cc | 15 | public TObject |
16 | { | |
17 | public: | |
f87cfe57 | 18 | AliDimuCombinator(TClonesArray* Partarray); |
19 | AliDimuCombinator(const AliDimuCombinator &combinator); | |
fe4da5cc | 20 | // |
7d566a7d | 21 | // Iterators |
22 | // Single muons | |
1578254f | 23 | TParticle* FirstMuon(); |
24 | TParticle* NextMuon(); | |
7d566a7d | 25 | // Single muons selected |
1578254f | 26 | TParticle* FirstMuonSelected(); |
27 | TParticle* NextMuonSelected(); | |
7d566a7d | 28 | // Dimuons |
1578254f | 29 | void FirstMuonPair(TParticle* & muon1, TParticle* & muon2); |
30 | void NextMuonPair(TParticle* & muon1, TParticle* & muon2); | |
7d566a7d | 31 | // Dimuons selected |
1578254f | 32 | void FirstMuonPairSelected(TParticle* & muon1, TParticle* & muon2); |
33 | void NextMuonPairSelected(TParticle* & muon1, TParticle* & muon2); | |
7d566a7d | 34 | // Loop over all prticles |
fe4da5cc | 35 | void ResetRange(); |
7d566a7d | 36 | // Set two ranges for dimuon loop |
fe4da5cc | 37 | void SetFirstRange (Int_t from, Int_t to); |
38 | void SetSecondRange(Int_t from, Int_t to); | |
39 | // Cuts | |
7d566a7d | 40 | void SetPtMin(Float_t ptmin) {fPtMin=ptmin;} |
f87cfe57 | 41 | void SetEtaCut(Float_t etamin, Float_t etamax) |
42 | {fEtaMin=etamin; fEtaMax=etamax;} | |
43 | Bool_t Selected(TParticle* part); | |
1578254f | 44 | Bool_t Selected(TParticle* part1, TParticle* part2); |
fe4da5cc | 45 | // Kinematics |
1578254f | 46 | Float_t Mass(TParticle* part1, TParticle* part); |
47 | Float_t PT(TParticle* part1, TParticle* part); | |
48 | Float_t Pz(TParticle* part1, TParticle* part); | |
49 | Float_t Y(TParticle* part1, TParticle* part); | |
fe4da5cc | 50 | // Response |
51 | void SmearGauss(Float_t width, Float_t & value); | |
fe4da5cc | 52 | // Weight |
1578254f | 53 | Bool_t Correlated(TParticle* part1, TParticle* part2); |
d430df3f | 54 | void SetRate(Float_t rate) {fRate1=rate;} |
55 | void SetRate(Float_t rate1, Float_t rate2 ) {fRate1=rate1; fRate2=rate2;} | |
1578254f | 56 | Float_t Weight(TParticle* part); |
57 | Float_t Weight(TParticle* part1, TParticle* part); | |
f87cfe57 | 58 | Float_t DecayProbability(TParticle* part); |
59 | AliDimuCombinator & operator=(const AliDimuCombinator & rhs); | |
7d566a7d | 60 | |
fe4da5cc | 61 | private: |
62 | void FirstPartner(); | |
63 | void NextPartner(); | |
64 | void FirstPartnerSelected(); | |
65 | void NextPartnerSelected(); | |
1578254f | 66 | Int_t Origin(TParticle* part); |
67 | TParticle* Parent(TParticle* part); | |
68 | TParticle* Partner(); | |
d430df3f | 69 | Int_t Type(TParticle *part); |
70 | private: | |
f87cfe57 | 71 | TClonesArray *fPartArray; // MC Event |
72 | Int_t fNParticle; // Number of particles | |
d430df3f | 73 | Int_t fImuon1; // Index of first muon |
74 | Int_t fImuon2; // Index of second muon | |
75 | Int_t fImin1; // Lowest index for first muon | |
76 | Int_t fImin2; // Lowest index for second muon | |
77 | Int_t fImax1; // Highest index for first muon | |
78 | Int_t fImax2; // Highest index for second muon | |
f87cfe57 | 79 | Float_t fRate1; // weight factor |
80 | Float_t fRate2; // weight factor | |
d430df3f | 81 | TParticle *fMuon1; // First muon |
82 | TParticle *fMuon2; // Second muon | |
f87cfe57 | 83 | Float_t fPtMin; // pT-cut |
84 | Float_t fEtaMin; // Minimum pseudorapidity cut | |
85 | Float_t fEtaMax; // Maximum pseudorapidity cut | |
86 | ||
87 | ClassDef(AliDimuCombinator,1) // Tools for dimuon combinatoric studies | |
fe4da5cc | 88 | }; |
89 | #endif | |
90 | ||
91 | ||
92 | ||
93 | ||
f87cfe57 | 94 | |
d430df3f | 95 | |
96 | ||
97 |