42 using std::stable_sort;
126 return _leps.size ();
138 return _jets.size ();
153 assert (i <
_leps.size());
169 assert (i <
_jets.size());
185 assert (
i <
_leps.size());
201 assert (
i <
_jets.size());
395 _leps.push_back (lep);
407 _jets.push_back (jet);
423 _leps[
i].smear (engine, smear_dir);
428 _jets[
i].smear (engine, smear_dir);
444 std::stable_sort (
_leps.begin(),
_leps.end(), not2 (less<Lepjets_Event_Lep> ()));
445 std::stable_sort (
_jets.begin(),
_jets.end(), not2 (less<Lepjets_Event_Lep> ()));
454 std::vector<int> ret;
456 ijet !=
_jets.size() ;
458 ret.push_back(
jet(ijet).
type());
470 if (
_jets.size() != _jet_types.size()) {
473 bool saw_hadw1 =
false;
475 int t = _jet_types[
i];
490 struct Lepjets_Event_Cutter
495 Lepjets_Event_Cutter (
double pt_cut,
double eta_cut)
504 bool Lepjets_Event_Cutter::operator () (
const Lepjets_Event_Lep&
l)
const 529 Lepjets_Event_Cutter (pt_cut, eta_cut)),
531 return _leps.size ();
548 Lepjets_Event_Cutter (pt_cut, eta_cut)),
550 return _jets.size ();
562 if (n >=
_jets.size())
593 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.