Index: include/Rivet/Projections/WFinder.hh =================================================================== --- include/Rivet/Projections/WFinder.hh (revision 3360) +++ include/Rivet/Projections/WFinder.hh (working copy) @@ -41,7 +41,8 @@ double missingET, double dRmax, bool clusterPhotons=true, bool trackPhotons=false, double masstarget=80.4, - bool useTransverseMass=false); + bool useTransverseMass=false, + FinalState inputfs=FinalState()); /// Constructor taking multiple eta/pT bounds @@ -62,7 +63,8 @@ double missingET, double dRmax, bool clusterPhotons=true, bool trackPhotons=false, double masstarget=80.4, - bool useTransverseMass=false); + bool useTransverseMass=false, + FinalState inputfs=FinalState()); /// Clone on the heap. @@ -117,7 +119,8 @@ double missingET, double dRmax, bool clusterPhotons, bool trackPhotons, double masstarget, - bool useTransverseMass); + bool useTransverseMass, + FinalState inputfs=FinalState()); private: Index: src/Projections/WFinder.cc =================================================================== --- src/Projections/WFinder.cc (revision 3358) +++ src/Projections/WFinder.cc (working copy) @@ -19,11 +19,12 @@ double missingET, double dRmax, bool clusterPhotons, bool trackPhotons, double masstarget, - bool useTransverseMass) { + bool useTransverseMass, + FinalState inputfs) { vector > etaRanges; etaRanges += std::make_pair(etaMin, etaMax); _init(etaRanges, pTmin, pid, minmass, maxmass, missingET, - dRmax, clusterPhotons, trackPhotons, masstarget, useTransverseMass); + dRmax, clusterPhotons, trackPhotons, masstarget, useTransverseMass, inputfs); } @@ -34,9 +35,10 @@ double missingET, double dRmax, bool clusterPhotons, bool trackPhotons, double masstarget, - bool useTransverseMass) { + bool useTransverseMass, + FinalState inputfs) { _init(etaRanges, pTmin, pid, minmass, maxmass, missingET, - dRmax, clusterPhotons, trackPhotons, masstarget, useTransverseMass); + dRmax, clusterPhotons, trackPhotons, masstarget, useTransverseMass, inputfs); } @@ -47,7 +49,8 @@ double missingET, double dRmax, bool clusterPhotons, bool trackPhotons, double masstarget, - bool useTransverseMass) + bool useTransverseMass, + FinalState inputfs) { setName("WFinder"); @@ -64,21 +67,20 @@ assert(abs(_nu_pid) == NU_E || abs(_nu_pid) == NU_MU); // Don't make pT or eta cuts on the neutrino - IdentifiedFinalState neutrinos; + IdentifiedFinalState neutrinos(inputfs); neutrinos.acceptNeutrinos(); addProjection(neutrinos, "Neutrinos"); // Lepton clusters - FinalState fs; - IdentifiedFinalState bareleptons(fs); + IdentifiedFinalState bareleptons(inputfs); bareleptons.acceptIdPair(pid); - LeptonClusters leptons(fs, bareleptons, dRmax, + LeptonClusters leptons(inputfs, bareleptons, dRmax, clusterPhotons, etaRanges, pTmin); addProjection(leptons, "LeptonClusters"); // Add MissingMomentum proj to calc MET - MissingMomentum vismom(fs); + MissingMomentum vismom(inputfs); addProjection(vismom, "MissingET"); // Set ETmiss _etMiss = missingET;