ZFinder.hh
Go to the documentation of this file.00001
00002 #ifndef RIVET_ZFinder_HH
00003 #define RIVET_ZFinder_HH
00004
00005 #include "Rivet/Tools/Logging.hh"
00006 #include "Rivet/Rivet.hh"
00007 #include "Rivet/Particle.hh"
00008 #include "Rivet/Event.hh"
00009 #include "Rivet/Projection.hh"
00010 #include "Rivet/Projections/FinalState.hh"
00011 #include "Rivet/Projections/LeptonClusters.hh"
00012
00013 namespace Rivet {
00014
00015
00016
00017
00018
00019
00020 class ZFinder : public FinalState {
00021
00022 public:
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 ZFinder(double etaMin, double etaMax,
00037 double pTmin,
00038 PdgId pid,
00039 double minmass, double maxmass,
00040 double dRmax, bool clusterPhotons, bool trackPhotons,
00041 double masstarget=91.2*GeV,
00042 FinalState inputfs=FinalState());
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 ZFinder(const std::vector<std::pair<double, double> >& etaRanges,
00055 double pTmin,
00056 PdgId pid,
00057 double minmass, const double maxmass,
00058 double dRmax, bool clusterPhotons, bool trackPhotons,
00059 double masstarget=91.2*GeV,
00060 FinalState inputfs=FinalState());
00061
00062
00063
00064 virtual const Projection* clone() const {
00065 return new ZFinder(*this);
00066 }
00067
00068
00069
00070
00071 const ParticleVector& bosons() const { return _bosons; }
00072
00073
00074
00075 const vector<Particle>& constituents() const { return _constituents; }
00076
00077
00078
00079
00080 const FinalState& remainingFinalState() const;
00081
00082
00083 protected:
00084
00085
00086 void project(const Event& e);
00087
00088
00089 int compare(const Projection& p) const;
00090
00091
00092 public:
00093
00094
00095 void clear() {
00096 _theParticles.clear();
00097 _bosons.clear();
00098 _constituents.clear();
00099 }
00100
00101
00102 private:
00103
00104 void _init(const std::vector<std::pair<double, double> >& etaRanges,
00105 double pTmin, PdgId pid,
00106 double minmass, double maxmass,
00107 double dRmax, bool clusterPhotons, bool trackPhotons,
00108 double masstarget,
00109 FinalState inputfs);
00110
00111
00112 double _minmass, _maxmass, _masstarget;
00113
00114
00115
00116
00117
00118
00119
00120 bool _trackPhotons;
00121
00122
00123 PdgId _pid;
00124
00125
00126 ParticleVector _bosons;
00127
00128
00129 vector<Particle> _constituents;
00130
00131 };
00132
00133
00134 }
00135
00136
00137
00138 #endif