42 using std::stable_sort;
124 return _leps.size ();
136 return _jets.size ();
151 assert (i <
_leps.size());
167 assert (i <
_jets.size());
183 assert (
i <
_leps.size());
199 assert (
i <
_jets.size());
393 _leps.push_back (lep);
405 _jets.push_back (jet);
421 _leps[
i].smear (engine, smear_dir);
426 _jets[
i].smear (engine, smear_dir);
442 std::stable_sort (
_leps.begin(),
_leps.end(), std::not_fn(std::less<Lepjets_Event_Lep>()));
443 std::stable_sort (
_jets.begin(),
_jets.end(), std::not_fn(std::less<Lepjets_Event_Lep>()));
452 std::vector<int> ret;
454 ijet !=
_jets.size() ;
456 ret.push_back(
jet(ijet).
type());
468 if (
_jets.size() != _jet_types.size()) {
471 bool saw_hadw1 =
false;
473 int t = _jet_types[
i];
488 struct Lepjets_Event_Cutter
493 Lepjets_Event_Cutter (
double pt_cut,
double eta_cut)
502 bool Lepjets_Event_Cutter::operator () (
const Lepjets_Event_Lep&
l)
const 527 Lepjets_Event_Cutter (pt_cut, eta_cut)),
529 return _leps.size ();
546 Lepjets_Event_Cutter (pt_cut, eta_cut)),
548 return _jets.size ();
560 if (n >=
_jets.size())
591 s <<
"Missing Et: " <<
_met <<
"\n";
const int & runnum() const
Return a constant reference to the run number.
double zvertex() const
Return the value of z-vertex.
void trimjets(std::vector< Lepjets_Event_Jet >::size_type n)
Remove all but the first n jets.
Fourvec kt() const
Return the sum of all objects' four-momentum and missing transverse energy.
Represent a lepton in an instance of Lepjets_Event class. This class hold the following information: ...
Lepjets_Event(int runnum, int evnum)
Constructor.
int cut_leps(double pt_cut, double eta_cut)
Remove leptons which fail transverse momentum and pseudorapidity cut.
Calculate and represent resolution for a physical quantity.
int cut_jets(double pt_cut, double eta_cut)
Remove jets which fail transverse momentum and pseudorapidity cut.
Resolution & kt_res()
Return a reference to the resolution.
bool set_jet_types(const std::vector< int > &)
Set the jet types in the event.
void add_lep(const Lepjets_Event_Lep &lep)
Add a new lepton to the event.
std::vector< Lepjets_Event_Lep > _leps
double pick(double x, double p, CLHEP::HepRandomEngine &engine) const
Generate random value from a Gaussian distribution described by this resolution. Given a value ...
Lepjets_Event_Jet & jet(std::vector< Lepjets_Event_Jet >::size_type i)
Return a reference to jet at index position i.
void setMC(bool isMC)
Set the Monte Carlo flag.
double & dnn()
Return a reference to the value of neural network (NN) discriminant (Irrelevant for non-D0 experiment...
int & type()
Return a reference to the type code.
double & dlb()
Return a reference to the value of low-bias (LB) discriminant (Irrelevant for non-D0 experiment)...
std::string jetTypeString(int type)
Helper function: Translate jet type code from integer to char. The following notation is used for eac...
Represent a simple event consisting of lepton(s) and jet(s).
std::vector< Lepjets_Event_Jet >::size_type njets() const
Return the number of jets in the event.
std::vector< Lepjets_Event_Lep >::size_type nleps() const
Return the number of leptons in the event.
Represent a simple event consisting of lepton(s) and jet(s). An instance of this class holds a list o...
std::vector< int > jet_types() const
Return the jet types in the event.
CLHEP::HepLorentzVector Fourvec
Typedef for a HepLorentzVector.
Abs< T >::type abs(const T &t)
A class to represent a jet in an instance of Lepjets_Event class. The class is derived from the Lepje...
Fourvec sum(int type) const
Return the sum of all objects' four-momentum which have a particular type.
std::ostream & operator<<(std::ostream &s, const Constraint_Intermed &ci)
Output stream operator, print the content of this Constraint_Intermed to an output stream...
Fourvec & met()
Return a reference to the missing transverse energy.
Lepjets_Event_Lep & lep(std::vector< Lepjets_Event_Lep >::size_type i)
Return a reference to lepton at index position i.
std::ostream & dump(std::ostream &s, bool full=false) const
Print the content of this object.
void add_jet(const Lepjets_Event_Jet &jet)
Add a new jet to the event.
bool isMC() const
Return the Monte Carlo flag.
void sort()
Sort objects in the event according to their transverse momentum .
const int & evnum() const
Return a constant reference to the event number.
std::vector< Lepjets_Event_Jet > _jets
std::string jet_permutation() const
Return a string representing the jet permutation. The following notation is used for each type of jet...
void smear(CLHEP::HepRandomEngine &engine, bool smear_dir=false)
Smear the objects in the event according to their resolutions.