* See cxx source for full Copyright notice */
/* $Id$ */
-#include <TParticle.h>
+
+
+// Class for dimuon analysis and fast dimuon simulation.
+// It uses the AliRun particle tree.
+// Comments and suggestions to andreas.morsch@cern.ch
+
+
#include <TObject.h>
class TClonesArray;
public TObject
{
public:
- AliDimuCombinator(TClonesArray* Partarray);
- AliDimuCombinator(const AliDimuCombinator &combinator);
+ AliDimuCombinator();
+ void Copy(AliDimuCombinator &combi) const;
//
// Iterators
+// Access to particle stack
+ TParticle* Particle(Int_t i);
// Single muons
TParticle* FirstMuon();
TParticle* NextMuon();
void SmearGauss(Float_t width, Float_t & value);
// Weight
Bool_t Correlated(TParticle* part1, TParticle* part2);
- void SetRate(Float_t rate){fRate1=rate;}
- void SetRate(Float_t rate1, Float_t rate2 ){fRate1=rate1; fRate2=rate2;}
+ void SetRate(Float_t rate) {fRate1=rate;}
+ void SetRate(Float_t rate1, Float_t rate2 ) {fRate1=rate1; fRate2=rate2;}
Float_t Weight(TParticle* part);
Float_t Weight(TParticle* part1, TParticle* part);
Float_t DecayProbability(TParticle* part);
- AliDimuCombinator & operator=(const AliDimuCombinator & rhs);
private:
void FirstPartner();
Int_t Origin(TParticle* part);
TParticle* Parent(TParticle* part);
TParticle* Partner();
- Int_t Type(TParticle *part) {return part->GetPdgCode();}
-private:
- TClonesArray *fPartArray; // MC Event
+ Int_t Type(TParticle *part);
+ AliDimuCombinator(const AliDimuCombinator &combinator);
+ AliDimuCombinator & operator=(const AliDimuCombinator & rhs);
+
+ private:
Int_t fNParticle; // Number of particles
- Int_t fimuon1; // Index of first muon
- Int_t fimuon2; // Index of second muon
- Int_t fimin1; // Lowest index for first muon
- Int_t fimin2; // Lowest index for second muon
- Int_t fimax1; // Highest index for first muon
- Int_t fimax2; // Highest index for second muon
+ Int_t fImuon1; // Index of first muon
+ Int_t fImuon2; // Index of second muon
+ Int_t fImin1; // Lowest index for first muon
+ Int_t fImin2; // Lowest index for second muon
+ Int_t fImax1; // Highest index for first muon
+ Int_t fImax2; // Highest index for second muon
Float_t fRate1; // weight factor
Float_t fRate2; // weight factor
- TParticle *fmuon1; // First muon
- TParticle *fmuon2; // Second muon
+ TParticle *fMuon1; // First muon
+ TParticle *fMuon2; // Second muon
Float_t fPtMin; // pT-cut
Float_t fEtaMin; // Minimum pseudorapidity cut
Float_t fEtaMax; // Maximum pseudorapidity cut
+
+
+