boca Namespace Reference

Boosted Collider Analysis. More...

Namespaces

 analysis
 Analysis Classes.
 
 branch
 Tree branches for root files.
 
 delphes
 Delphes.
 
 detail
 
 exroot
 ExRoot.
 
 latex
 LaTeX.
 
 tagger
 Tagger
 
 units
 Units.
 

Classes

class  Analysis
 provides main analysis loops and logic. More...
 
class  Blue
 Blue More...
 
class  Browser
 
class  Canvas
 
class  Close
 
class  ClosestLepton
 
class  ClusterSequence
 Wrapper around fastjet:ClusterSequence taking care of memory managment. More...
 
class  Color
 Color base More...
 
class  ConstIterator
 const iterator More...
 
class  Constituent
 
class  ConstSubIterator
 Const sub-iterator. More...
 
class  CutVariables
 variables for cut based analysis More...
 
class  Doublet
 A Doublet consisting of two Singlets. More...
 
class  Duodecuplet552
 
class  Duodecuplet633
 
class  Empty
 Empty multiplets More...
 
class  EnumIterator
 Enables the use of strongly typed enumerators as iterators. More...
 
class  Event
 Base class for the event Topology. More...
 
class  EventMultiplet
 An event composed of a multiplet an a singlet made up from the remaining jets. More...
 
class  EventShapes
 Calculates the event shapes for a given collection of jets. More...
 
class  Family
 
class  FileInfo
 Input file infos. More...
 
class  FileWriter
 
class  Filter
 
struct  Flag
 Mark a strongly typed enumerator as a flag. More...
 
struct  Flag< JetDetail >
 
struct  Flag< Orientation >
 
struct  Flag< Output >
 
struct  Flag< Significance >
 
struct  Flag< Style >
 
struct  function_traits
 
struct  function_traits< Result_(Class_::*)(Arguments_...) const >
 
class  Global
 
class  GradedContainer
 Container with associated scalar. More...
 
class  GradedMatrix
 
class  GradedVector
 
class  Graphs
 
class  Heat
 Heat map colors More...
 
class  HemisphereMasses
 
class  Histogram2Dim
 
class  Histograms
 
class  Identification
 
class  InfoRecombiner
 Recombine two fastjet::Jet with attached fastjet::UserInfo. More...
 
struct  IsMatrix2
 
struct  IsMatrix2< Matrix2< Value > >
 
struct  IsMatrix3
 
struct  IsMatrix3< Matrix3< Value > >
 
class  Isolated
 Isolated objects More...
 
struct  IsVector2
 
struct  IsVector2< Vector2< Value_ > >
 
struct  IsVector3
 
struct  IsVector3< Vector3< Value_ > >
 
class  Iterator
 Iterator More...
 
class  Jet
 Jet. More...
 
class  JetInfo
 Jet infos subclassed from Fastjet. More...
 
class  Legend
 
class  Line
 Line between two points. More...
 
class  LorentzMatrix
 Lorentz matrix. More...
 
class  LorentzVector
 Lorentz vector. More...
 
class  LorentzVector< Length >
 Length Lorentz vector. More...
 
class  LorentzVector< Momentum >
 Momentum Lorentz vector. More...
 
class  LorentzVectorBase
 Lorentz Vector. More...
 
class  Matrix2
 Two dimensional matrix. More...
 
class  Matrix3
 Three dimensional matrix. More...
 
class  Member
 Family member with id, position, and 4-momentum. More...
 
class  MomentumRange
 
class  Multiplet
 Multiplet base class More...
 
class  MultipletSignature
 An event composed of a multiplet an a singlet made up from the remaining jets. More...
 
class  Mutable
 Lazy caching of variables. More...
 
class  MuXboostedBTagging
 MuXboostedBTagging tags high-pT heavy flavor jets using a muonic tag. More...
 
class  Names
 
class  NSubJettiness
 Helper class to calculate N-subjettiness of a jet. More...
 
class  Observable
 
class  Observables
 Container for Observable. More...
 
class  Octet332
 Octet consisting of two triplets and one doublet. More...
 
class  Octet44
 An octet composed of two quartets. More...
 
class  Octet53
 An octet composed of two quartets. More...
 
class  Octet62
 An octet composed of a sextet an a doublet. More...
 
class  Options
 Key-value-pair options. More...
 
class  Overlap
 Overlap between structures More...
 
class  Particle
 
class  ParticleInfo
 Jet infos subclassed from Fastjet. More...
 
class  Phase
 The phases of the multivariant tagging process. More...
 
class  Plot
 
class  Plots
 
class  Plotting
 
class  PlottingBase
 Presents result of multivariant analysis. More...
 
class  PreCut
 
class  PreCuts
 
class  Problematic
 Generic problematic cases. More...
 
class  Profile
 
class  PseudoJet
 Wrapper for fastjet::PseudoJet adding BoCA related functions. More...
 
class  Quartet211
 A Quartet consisting of a Doublet and two Singlets. More...
 
class  Quartet22
 A Quartet consisting of two Doublets. More...
 
class  Quartet31
 A Quartet consisting of a Triplet and a Singlet. More...
 
class  Quintet
 A Quintet consisting of a Triplet and a Doublet. More...
 
class  Range
 Range between two values. More...
 
class  Reader
 read results of multivariant analysis wrapper for TMVA::Reader More...
 
class  Rectangle
 Rectangle of two Ranges. More...
 
class  Red
 Red More...
 
class  Result
 
class  Results
 
class  Settings
 Detector and Collider specific constants. More...
 
class  Sextet33
 A Sextet consisting of two Triplets. More...
 
class  Sextet42
 A Sextet consisting of a Quartet and a Doublet. More...
 
class  Singlet
 Wrapper for a Jet in order to make it behave like a Multiplet. More...
 
class  SubIterator
 Iterator More...
 
class  SubJet
 
class  SubJettiness
 Calculate N-subjettiness of a jet. More...
 
class  Tagger
 Tagger base class using Branch template More...
 
class  ThreeBody
 Three body base class. More...
 
class  Trainer
 Prepares multivariant analysis. More...
 
class  TreeBranch
 
class  TreeReader
 
class  TreeReaderArray
 
class  TreeWriter
 
class  Triplet
 A Triplet consisting of a Singlet and a Doublet. More...
 
class  Triplet111
 A Triplet consisting of three Singlets. More...
 
class  TruthVariables
 Variables for truth level analyses. More...
 
class  TwoBody
 Two body base class. More...
 
class  Vector2
 Two dimensional Vector. More...
 
class  Vector3
 Three dimensionial vector. More...
 
class  WimpMass
 Wrapper for WimpMass class reconstructs two missing neutrino momenta. More...
 

Typedefs

using Lepton = Jet
 
using Photon = Jet
 
using MissingEt = Jet
 
template<typename Enum , typename Type >
using FlagReturn = typename std::enable_if< Flag< Enum >::enable, Type >
 
using Latex = latex::String
 
using LatexString = latex::StringHelper
 
template<typename Value_ >
using GradedLorentzVector = GradedVector< LorentzVector, Value_ >
 Graded LorentzVector. More...
 
template<typename Value_ >
using GradedMatrix2 = GradedMatrix< Matrix2, Value_ >
 Graded two dimensional matrix. More...
 
template<typename Value_ >
using GradedMatrix3 = GradedMatrix< Matrix3, Value_ >
 Graded three dimensional matrix. More...
 
template<typename Value_ >
using GradedVector2 = GradedVector< Vector2, Value_ >
 Two vector with associated number. More...
 
template<typename Value_ >
using GradedVector3 = GradedVector< Vector3, Value_ >
 Graded three dimensional vector. More...
 
template<typename Value_ >
using Line2 = Line< Vector2, Value_ >
 Line between two points in two dimensional space. More...
 
template<typename Value_ >
using Line3 = Line< Vector3, Value_ >
 Line between two points in three dimensional space. More...
 
template<typename Value_ >
using LorentzLine = Line< LorentzVector, Value_ >
 Line between two points in Lorentz space. More...
 
template<typename Value >
using OnlyIfNotLorentzVectorBase = typename std::enable_if< std::is_base_of< LorentzVectorBase< Value >, Value >::value >::type
 
template<typename Value_2_ >
using Array2 = std::array< Value_2_, 2 >
 
template<typename Value >
using OnlyIfNotMatrix2 = typename std::enable_if< !IsMatrix2< Value >::value >::type
 
template<typename Value_ >
using Array3 = std::array< Value_, 3 >
 
template<typename Value >
using OnlyIfNotMatrix3 = typename std::enable_if< !IsMatrix3< Value >::value >::type
 
template<typename Value_ >
using OnlyIfNotVector2 = typename std::enable_if< !IsVector2< Value_ >::value >::type
 
template<typename Value_ >
using OnlyIfNotVector3 = typename std::enable_if< !IsVector3< Value_ >::value >::type
 
template<typename Value_ >
using OnlyIfVector3 = typename std::enable_if< IsVector3< Value_ >::value >::type
 
using AngleSquareMomentum = ValueProduct< AngleSquare, Momentum >
 
using NamePairs = std::vector< std::pair< Names, Names >>
 
using AngleMomentum = ValueProduct< Angle, Momentum >
 

Enumerations

enum  Output {
  Output::none = 0, Output::fast = 1 << 0, Output::normal = 1 << 1, Output::significance = 1 << 2,
  Output::efficiency = 1 << 3, Output::plot = 1 << 4, Output::cut = 1 << 5, Output::plot_hist = 1 << 6
}
 
enum  JetDetail { JetDetail::none = 0, JetDetail::plain = 1 << 0, JetDetail::structure = 1 << 1, JetDetail::isolation = 1 << 2 }
 
enum  Decay { Decay::leptonic, Decay::hadronic }
 
enum  Status { Status::none = 0, Status::stable = 1, Status::unstable = 2, Status::generator = 3 }
 
enum  DetectorPart {
  DetectorPart::none, DetectorPart::gen_particle, DetectorPart::track, DetectorPart::photon,
  DetectorPart::tower, DetectorPart::muon
}
 
enum  Relative {
  Relative::none, Relative::particle, Relative::mother, Relative::step_mother,
  Relative::grand_mother, Relative::great_grand_mother
}
 
enum  Id {
  Id::none = 0, Id::down = 1, Id::up = 2, Id::strange = 3,
  Id::charm = 4, Id::bottom = 5, Id::top = 6, Id::bottom_partner = 7,
  Id::top_partner = 8, Id::electron = 11, Id::electron_neutrino = 12, Id::muon = 13,
  Id::muon_neutrino = 14, Id::tau = 15, Id::tau_neutrino = 16, Id::tau_partner = 17,
  Id::tau_neutrino_partner = 18, Id::gluon = 21, Id::photon = 22, Id::Z = 23,
  Id::W = 24, Id::higgs = 25, Id::Z_partner = 32, Id::Z_partner_2 = 33,
  Id::W_partner = 34, Id::heavy_higgs = 35, Id::CP_odd_higgs = 36, Id::charged_higgs = 37,
  Id::any = 86, Id::isr = 87, Id::marker = 88, Id::mixed_jet = 90,
  Id::cluster = 91, Id::string = 92, Id::pi0 = 111, Id::rho0 = 113,
  Id::K0l = 130, Id::pion = 211, Id::rho = 213, Id::eta = 221,
  Id::omega = 223, Id::K0s = 310, Id::K0 = 311, Id::K0S = 313,
  Id::K = 321, Id::KS = 323, Id::etaP = 331, Id::Dpm = 411,
  Id::DS = 413, Id::DS2 = 415, Id::D0 = 421, Id::DS0 = 423,
  Id::etac = 441, Id::B0 = 511, Id::B0S = 513, Id::Bpm = 521,
  Id::BS = 523, Id::BS0 = 531, Id::BsS0 = 533, Id::ypsilon = 553,
  Id::down_down_1 = 1103, Id::up_down_0 = 2101, Id::up_down_1 = 2103, Id::Delta = 1114,
  Id::neutron = 2112, Id::up_up_1 = 2203, Id::proton = 2212, Id::Delta_2 = 2224,
  Id::CP_violating_higgs = 5000000, Id::higgs_coupling = 9010221
}
 PDG particle naming conventions. More...
 
enum  MultiId {
  MultiId::quark, MultiId::five_quark, MultiId::charged_lepton, MultiId::neutrino,
  MultiId::neutral_boson, MultiId::bosons
}
 Groups of PDG particles. More...
 
enum  Tag { Tag::background = 0, Tag::signal = 1 }
 The Tag distinguishes between signal and background events. More...
 
enum  Source {
  Source::delphes, Source::pgs, Source::parton, Source::tagger,
  Source::snowmass
}
 
enum  Branch {
  Branch::particle, Branch::photon, Branch::electron, Branch::muon,
  Branch::jet, Branch::missing_et, Branch::track, Branch::tower,
  Branch::e_flow_track, Branch::e_flow_photon, Branch::e_flow_neutral_hadron, Branch::e_flow_muon,
  Branch::gen_jet, Branch::scalar_ht, Branch::tau
}
 
enum  LorentzDim {
  LorentzDim::x, LorentzDim::y, LorentzDim::z, LorentzDim::t,
  LorentzDim::last
}
 Lorentz Dimensions. More...
 
enum  Matrix {
  Matrix::none, Matrix::diagonal, Matrix::symmetric, Matrix::antisymmetric,
  Matrix::row, Matrix::column, Matrix::uniform
}
 Matrix types. More...
 
enum  Dim2 { Dim2::x, Dim2::y, Dim2::last }
 Two dimensionss. More...
 
enum  Dim3 { Dim3::x, Dim3::y, Dim3::z, Dim3::last }
 Three dimensions. More...
 
enum  Stage { Stage::trainer, Stage::reader }
 The stage of the multivariant tagging process. More...
 
enum  Style { Style::none = 0, Style::normal = 1 << 0, Style::bold = 1 << 1, Style::italic = 1 << 2 }
 
enum  Orientation {
  Orientation::none = 0, Orientation::center = 1 << 0, Orientation::left = 1 << 1, Orientation::right = 1 << 2,
  Orientation::top = 1 << 3, Orientation::bottom = 1 << 4, Orientation::outside = 1 << 5
}
 Orientation of the Legend. More...
 
enum  Significance {
  Significance::none = 0, Significance::experimental = 1 << 0, Significance::background = 1 << 1, Significance::sum = 1 << 2,
  Significance::poisson = 1 << 3, Significance::discovery = 1 << 4, Significance::exclusion = 1 << 5
}
 
enum  JetType { JetType::jet, JetType::gen_jet, JetType::e_flow_jet }
 JetType indicates which type of jet is going to be used. More...
 
enum  Collider { Collider::lhc, Collider::future }
 Detector type indicates which kind of detector geometry is going to be used. More...
 
enum  Font { Font::times, Font::helvetica, Font::courier, Font::symbol }
 

Functions

std::string Name (Output output)
 
std::string Name (JetDetail jet_detail)
 
std::string Name (Decay decay)
 
std::vector< JetJetVector (std::vector< fastjet::PseudoJet > const &pseudo_jets)
 
std::vector< fastjet::PseudoJet > PseudoJetVector (std::vector< Jet > const &jets)
 
Jet Join (std::vector< Jet > const &jets)
 
Jet Join (Jet const &jet_1, Jet const &jet_2)
 
Jet Join (Jet const &jet_1, Jet const &jet_2, Jet const &jet_3)
 
std::vector< ParticleParticleVector (std::vector< fastjet::PseudoJet > const &pseudo_jets)
 
std::vector< ParticleCopyIfRelativeIs (std::vector< Particle > const &particles, Relative relative, Id id)
 
std::vector< ParticleCopyIfRelativeIs (const std::vector< boca::Particle > &particles, boca::Relative relative, std::vector< Id > const &ids)
 
std::vector< ParticleCopyIfParticle (std::vector< Particle > const &particles, Id id)
 
std::vector< ParticleCopyIfParticles (std::vector< Particle > const &particles, std::vector< Id > const &ids)
 
std::vector< ParticleCopyIfNeutrino (std::vector< Particle > const &particles)
 
std::vector< ParticleCopyIfLepton (std::vector< Particle > const &particles)
 
std::vector< ParticleCopyIfExactParticle (std::vector< Particle > const &particles, int id)
 
std::vector< ParticleRemoveIfExactParticle (std::vector< Particle > particles, int id)
 
std::vector< ParticleCopyIfFamily (std::vector< Particle > const &particles, Id id, Id mother_id)
 
std::vector< ParticleRemoveIfGrandFamily (std::vector< Particle > const &particles, Id id, Id grand_mother_id)
 returns only particles with the correct id and non fitting grand mother id More...
 
std::vector< ParticleRemoveIfParticle (std::vector< Particle > particles, Id id)
 
std::vector< ParticleCopyIfMother (std::vector< Particle > const &particles, Id mother_id)
 
std::vector< ParticleCopyIfMother (std::vector< Particle > const &particles, std::vector< Id > const &mother_id)
 
std::vector< ParticleCopyIfMother (std::vector< Particle > const &particles, Particle mother)
 
std::vector< ParticleCopyIfGrandMother (std::vector< Particle > const &particles, Id grand_mother_id)
 
std::vector< ParticleCopyIfGrandMother (std::vector< Particle > const &particles, Particle grand_mother)
 
std::vector< ParticleCopyIfGreatGrandMother (std::vector< Particle > const &particles, Id grand_grand_mother_id)
 
std::vector< ParticleCopyIfAncestor (std::vector< Particle > const &particles, Id ancestor)
 
std::vector< ParticleRemoveIfMother (std::vector< Particle > const &particles, Id mother_id)
 
std::vector< ParticleRemoveIfMother (std::vector< Particle > const &particles, std::vector< Id > const &mother_ids)
 
std::vector< ParticleRemoveIfSingleMother (std::vector< Particle > const &particles)
 
std::vector< ParticleRemoveIfOnlyMother (std::vector< Particle > const &particles, Id mother_id)
 
std::vector< ParticleRemoveIfLetpon (std::vector< Particle > const &particles)
 
std::vector< ParticleRemoveIfQuark (std::vector< Particle > const &particles)
 
std::vector< ParticleCopyIfQuark (std::vector< Particle > const &particles)
 
std::vector< ParticleCopyIf5Quark (std::vector< Particle > const &particles)
 
std::vector< ParticleCopyIfDaughter (std::vector< Particle > const &particles, std::vector< Particle > const &daughters)
 
std::vector< ParticleRemoveIfDaughter (std::vector< Particle > const &particles, std::vector< Particle > const &daughters)
 
std::vector< ParticleCopyIfGrandDaughter (std::vector< Particle > const &particles, std::vector< Particle > const &daughters)
 
std::vector< ParticleCopyIfPosition (std::vector< Particle > const &particles, int position)
 
std::vector< ParticleCopyIfPosition (std::vector< Particle > const &particles, int position_1, int position_2)
 
std::vector< ParticleCopyFirst (std::vector< Particle > particles, std::size_t number)
 
std::vector< ParticleCopyIfDrellYan (std::vector< Particle > const &particles)
 Copy the two particles which are on the DY position. More...
 
void PrintParticles (std::vector< Particle > const &particles)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
std::vector< Multiplet_1_ > SortedByMinDeltaRTo (std::vector< Multiplet_1_ > multiplets, Multiplet_2_ const &jet)
 
template<class Multiplet >
std::vector< MultipletSortedByMaxDeltaRap (std::vector< Multiplet > multiplets)
 
template<class Multiplet >
std::vector< MultipletSortedByMassTo (std::vector< Multiplet > multiplets, Mass const &mass)
 
template<class Multiplet >
std::vector< MultipletSortedByMassTo (std::vector< Multiplet > multiplets, Id id)
 
template<class Multiplet >
std::vector< MultipletSortedByMass (std::vector< Multiplet > multiplets)
 
template<class Multiplet >
std::vector< MultipletSortedByPt (std::vector< Multiplet > multiplets)
 
template<class Multiplet >
std::vector< MultipletSortedByRap (std::vector< Multiplet > multiplets)
 
template<class Multiplet >
std::vector< MultipletSortedByPhi (std::vector< Multiplet > multiplets)
 
template<typename Multiplet >
std::vector< MultipletSortedByBdt (std::vector< Multiplet > multiplets)
 sort vector of jets with largest bdt at the front More...
 
template<typename Multiplet_ >
std::vector< Multiplet_ > RemoveIfOutsidePtWindow (std::vector< Multiplet_ > jets, Momentum const &lower_cut, Momentum const &upper_cut)
 
template<typename Multiplet_ >
std::vector< Multiplet_ > CopyIfTag (std::vector< Multiplet_ > const &multiplets, double value=0)
 Copy if Bdt value of multiplet is larger than value (default = 0) More...
 
template<typename Multiplet_ >
std::vector< Multiplet_ > RemoveIfSoft (std::vector< Multiplet_ > multiplets, Momentum const &pt_min)
 
template<typename Multiplet_ >
std::vector< Multiplet_ > RemoveIfHard (std::vector< Multiplet_ > multiplets, Momentum const &pt_max)
 
template<typename Multiplet_ >
int CountIfHard (std::vector< Multiplet_ > multiplets, Momentum const &pt_min)
 
template<typename Multiplet_ >
auto CountIfBottom (std::vector< Multiplet_ > const &jets)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
std::vector< Multiplet_1_ > RemoveIfClose (std::vector< Multiplet_1_ > jets, std::vector< Multiplet_2_ > const &particles)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
bool CrossComparison (Multiplet_1_ const &multiplet, std::pair< Multiplet_2_, Multiplet_2_ > const &particles)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
std::vector< Multiplet_1_ > RemoveIfClose (std::vector< Multiplet_1_ > jets, std::vector< std::pair< Multiplet_2_, Multiplet_2_ >> const &particles)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
std::vector< Multiplet_1_ > CopyIfClose (std::vector< Multiplet_1_ > const &multiplets, std::vector< Multiplet_2_ > const &particles)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
std::vector< Multiplet_1_ > CopyIfClose (std::vector< Multiplet_1_ > const &multiplets, Multiplet_2_ const &particle)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
std::vector< Multiplet_1_ > CopyIfClose (std::vector< Multiplet_1_ > const &multiplets, std::pair< Multiplet_2_, Multiplet_2_ > const &particle)
 
std::string NameSpaceName (std::string const &pretty_function)
 
std::string ClassName (std::string const &pretty_function)
 
std::string FunctionName (std::string const &pretty_function)
 
std::string FileName (std::string const &file)
 
template<typename Value >
std::string ApplyIoFlags (Value const &message)
 
template<typename Value >
std::string Stream (Value const &message, int width=20, bool right=false)
 
template<typename Value >
std::string Stream2 (std::string const &variable, Value const &value)
 
void Log (std::string const &file, int line, std::string const &name_space, std::string const &class_name, std::string const &function, bool final=true)
 
template<typename Value >
void LogVariable (std::string const &variable, Value const &value)
 
template<typename Value >
void LogVariable (std::string const &variable, const std::vector< Value > &values)
 
void LogVariable (std::string const &, char const *value)
 
template<typename Value >
void Log (std::string const &file, int line, std::string const &name_space, std::string const &class_name, std::string const &function, std::string const &variable, Value value, bool final=true)
 
template<typename Value , typename Value2 >
void Log (std::string const &file, int line, std::string const &name_space, std::string const &class_name, std::string const &function, std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, bool final=true)
 
template<typename Value , typename Value2 , typename Value3 >
void Log (std::string const &file, int line, std::string const &name_space, std::string const &class_name, std::string const &function, std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, std::string const &variable3, const Value3 value3, bool final=true)
 
template<typename Value , typename Value2 , typename Value3 , typename Value4 >
void Log (std::string const &file, int line, std::string const &name_space, std::string const &class_name, std::string const &function, std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, std::string const &variable3, const Value3 value3, std::string const &variable4, const Value4 value4, bool final=true)
 
template<typename Value , typename Value2 , typename Value3 , typename Value4 , typename Value5 >
void Log (std::string const &file, int line, std::string const &name_space, std::string const &class_name, std::string const &function, std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, std::string const &variable3, const Value3 value3, std::string const &variable4, const Value4 value4, std::string const &variable5, const Value5 value5)
 
void Debug (bool final=true)
 
template<typename Value >
void Debug (std::string const &variable, Value value, bool final=true)
 
template<typename Value , typename Value2 >
void Debug (std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, bool final=true)
 
template<typename Value , typename Value2 , typename Value3 >
void Debug (std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, std::string const &variable3, const Value3 value3, bool final=true)
 
template<typename Value , typename Value2 , typename Value3 , typename Value4 >
void Debug (std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, std::string const &variable3, const Value3 value3, std::string const &variable4, const Value4 value4, bool final=true)
 
template<typename Value , typename Value2 , typename Value3 , typename Value4 , typename Value5 >
void Debug (std::string const &variable, const Value value, std::string const &variable2, const Value2 value2, std::string const &variable3, const Value3 value3, std::string const &variable4, const Value4 value4, std::string const &variable5, const Value5 value5)
 
template<typename Value >
void Default (std::string const &variable, const Value value)
 
void Error (std::string const &variable)
 
template<typename Enum >
FlagReturn< Enum, typename std::underlying_type< Enum >::type >::type Underlying (Enum enum_1)
 
template<typename Enum >
FlagReturn< Enum, Enum >::type operator& (Enum enum_1, Enum enum_2)
 
template<typename Enum >
constexpr FlagReturn< Enum, Enum >::type operator| (Enum enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum >::type operator^ (Enum enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum >::type operator~ (Enum enum_1)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type operator&= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type operator|= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type operator^= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, Enum & >::type operator<<= (Enum &enum_1, Enum enum_2)
 
template<typename Enum >
FlagReturn< Enum, bool >::type to_bool (Enum value)
 
template<typename Enum >
FlagReturn< Enum, bool >::type is (Enum enum_1, Enum enum_2)
 
template<typename Enum , typename Function >
void FlagSwitch (Enum enum_1, Function function)
 
template<typename Input_ , typename Function_ >
auto Transform (Input_ const &inputs, Function_ function)
 
template<typename Result_ , typename Input_ , typename Function_ >
std::vector< Result_ > TransformIf (Input_ const &inputs, Function_ const &function_1, Function_ const &function_2)
 
template<typename Elements_ , typename Function_ >
std::vector< Elements_ > CopyIf (std::vector< Elements_ > const &inputs, Function_ function)
 
template<typename Element_ >
std::size_t Position (std::vector< Element_ > const &vector, Element_ const &element)
 
template<typename Element_ , unsigned long size_>
std::size_t Position (std::array< Element_, size_ > const &array, Element_ const &element)
 
template<typename Element_ >
bool FindInVector (const std::vector< Element_ > vector, const Element_ element)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
Multiplet_1_ ClosestJet (std::vector< Multiplet_1_ > const &multiplets, Multiplet_2_ const &multiplet)
 
template<typename Element_ >
std::vector< Element_ > Combine (std::vector< Element_ > const &vector_1, std::vector< Element_ > const &vector_2)
 Combine two std::vector. More...
 
template<typename Element_ >
std::vector< Element_ > Combine (std::vector< Element_ > const &vector_1, std::vector< Element_ > const &vector_2, std::vector< Element_ > const &vector_3)
 Combine three std::vector. More...
 
template<typename Element_ >
void Insert (std::vector< Element_ > &vector_1, std::vector< Element_ > const &vector_2)
 Insert two std::vector. More...
 
template<typename Element_ >
void Insert (std::vector< Element_ > &vector_1, std::vector< Element_ > const &vector_2, std::vector< Element_ > const &vector_3)
 Insert three std::vector. More...
 
template<typename Element_ , typename Function , typename Result = typename std::result_of<Function&(Element_, Element_)>::type>
auto OrderedPairs (std::vector< Element_ > const &container, Function function)
 forms all \((n^2 - n)\) ordered pairs of vector elements, applies to them the function and returns a vector of its results More...
 
template<typename Element_ , typename Function_ , typename Result_ = typename std::result_of<Function_&(Element_, Element_)>::type>
auto UnorderedPairs (std::vector< Element_ > const &container, Function_ function)
 forms all \((n^2 - n) / 2\) unordered pairs, applies to them the function and returns a vector of its results More...
 
template<typename Element_1_ , typename Element_2_ , typename Function_ , typename Result_ = typename std::result_of<Function_&(Element_1_, Element_2_)>::type>
auto Pairs (std::vector< Element_1_ > const &container_1, std::vector< Element_2_ > const &container_2, Function_ function)
 forms all \(n \times m\) pairs of the elements in the two containers, applies the function and returns a vector of its elements More...
 
template<typename Element_1_ , typename Element_2_ , typename Function_ , typename Result_ = typename std::result_of<Function_&(Element_1_, Element_1_, Element_2_)>::type>
auto Triples (std::vector< Element_1_ > const &container_1, std::vector< Element_2_ > const &container_2, Function_ function)
 forms all \((n^2 - n) / 2 \times m\) triples, applies to them the function and returns a vector of its results More...
 
template<typename Element_1_ , typename Element_2_ , typename Element_3_ , typename Function_ , typename Result_ = typename std::result_of<Function_&(Element_1_, Element_2_, Element_3_)>::type>
auto Triples (std::vector< Element_1_ > const &container_1, std::vector< Element_2_ > const &container_2, std::vector< Element_3_ > const &container_3, Function_ function)
 forms all \((n^2 - n) / 2 \times m\) triples, applies to them the function and returns a vector of its results More...
 
template<typename Element_1_ , typename Element_2_ , typename Element_3_ , typename Function_1_ , typename Function_2_ , typename Result_1_ = typename std::result_of<Function_1_&(Element_1_, Element_2_)>::type, typename Result_2_ = typename std::result_of<Function_2_&(Result_1_, Element_3_)>::type>
auto Triples (std::vector< Element_1_ > const &container_1, std::vector< Element_2_ > const &container_2, std::vector< Element_3_ > const &container_3, Function_1_ function_1, Function_2_ function_2)
 forms all \((n^2 - n) / 2 \times m\) triples, applies to them the function and returns a vector of its results More...
 
std::string Name (DetectorPart detector_part)
 
std::string Name (Relative relative)
 
std::ostream & operator<< (std::ostream &stream, Relative relative)
 Stream the name of a family relative. More...
 
Relative Mother (Relative relative)
 
Relative StepMother (Relative relative)
 
std::vector< RelativeRelatives ()
 
std::string Name (int id)
 Name of a particle with given PDG number. More...
 
std::string Name (Id id)
 Name of a particle with given Id. More...
 
std::ostream & operator<< (std::ostream &stream, Id id)
 Stream the name of a particle with given Id. More...
 
Mass MassOf (Id id)
 Mass of particle with given Id. More...
 
std::string Name (MultiId multi_id)
 Names of PDG particle groups. More...
 
std::ostream & operator<< (std::ostream &stream, MultiId id)
 Stream the name of a particle with given MultiId. More...
 
Mass MassOf (MultiId multi_id)
 Common mass of a multi particle. More...
 
std::vector< IdResolve (MultiId multi_id)
 Vector if PDG particle Ids for a given MultiId. More...
 
Id Lightest (MultiId multi_id)
 Lightest particle of a given MultiID. More...
 
Id Heavyest (MultiId multi_id)
 Heaviest particle of a given MultiId. More...
 
std::string Name (Tag tag)
 Name of Tag. More...
 
std::ostream & operator<< (std::ostream &stream, Tag tag)
 Stream the name of a particle with given Id. More...
 
bool Exists (std::string const &name)
 
std::string Name (Source source)
 
std::string Name (Branch branch)
 
std::string Name (LorentzDim lorentz_dim)
 
std::vector< LorentzDimLorentzDimensions ()
 
template<class Value , class Value_2 >
constexpr auto operator* (LorentzVectorBase< Value > const &lorentz_vector_1, LorentzVectorBase< Value_2 > const &lorentz_vector_2)
 Scalar product of lorentzvectors. More...
 
template<class Value , class Value_2 , typename = OnlyIfNotLorentzVectorBase<Value_2>>
constexpr auto operator* (LorentzVectorBase< Value > const &lorentz_vector, Value_2 scalar)
 Scaling of lorentzvectors with a real number. More...
 
template<class Value , class Value_2 , typename = OnlyIfNotLorentzVectorBase<Value>>
constexpr auto operator* (Value scalar, LorentzVectorBase< Value_2 > const &lorentz_vector)
 Scaling of lorentzvectors with a real number. More...
 
std::string Name (Matrix matrix)
 
template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix2<Value_2_>>
constexpr auto operator* (Matrix2< Value_ > const &matrix, Value_2_ scalar)
 
template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix2<Value_2_>>
constexpr auto operator* (Value_2_ scalar, Matrix2< Value_ > const &matrix)
 
template<class Value_ , class Value_2_ >
constexpr auto operator* (Matrix2< Value_ > const &matrix, Vector2< Value_2_ > const &vector)
 
template<class Value_ , class Value_2_ >
constexpr Matrix2< ValueProduct< Value_, Value_2_ > > operator* (Vector2< Value_2_ > const &vector, Matrix2< Value_ > const &matrix)
 
template<typename Value_1_ , typename Value_2_ >
constexpr Matrix2< ValueProduct< Value_1_, Value_2_ > > MatrixProduct (Vector2< Value_1_ > const &vector_1, Vector2< Value_2_ > const &vector_2)
 
template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix3<Value_2_>>
constexpr auto operator* (Matrix3< Value_ > const &matrix, Value_2_ scalar)
 Multiplication with a scalar. More...
 
template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix3<Value_2_>>
constexpr auto operator* (Value_2_ scalar, Matrix3< Value_ > const &matrix)
 Multiplication with a scalar. More...
 
template<class Value_ , class Value_2_ >
constexpr auto operator* (Matrix3< Value_ > const &matrix, Vector3< Value_2_ > const &vector)
 Multiplication with a vector. More...
 
template<class Value_ , class Value_2_ >
constexpr Matrix3< ValueProduct< Value_, Value_2_ > > operator* (Vector3< Value_2_ > const &vector, Matrix3< Value_ > const &matrix)
 Multiplication with a vector. More...
 
template<typename Value_1_ , typename Value_2_ >
constexpr Matrix3< ValueProduct< Value_1_, Value_2_ > > MatrixProduct (Vector3< Value_1_ > const &vector_1, Vector3< Value_2_ > const &vector_2)
 Multiplication with a matrix. More...
 
template<typename Value_ >
Range< Value_ > MinMax (std::vector< Value_ > const &vector)
 
template<typename Iterator_ , typename Value_ >
Range< Value_ > MinMax (Iterator_ begin, Iterator_ end)
 
std::string Name (Dim2 dim_2)
 
std::vector< Dim2Dimensions2 ()
 
template<class Value_ , class Value_2 >
auto operator* (Vector2< Value_ > const &vector_1, const Vector2< Value_2 > &vector_2)
 Dot product. More...
 
template<class Value_ , class Value_2 , typename = OnlyIfNotVector2<Value_2>>
auto operator* (Vector2< Value_ > const &vector, Value_2 const &scalar)
 Scalar from the right. More...
 
template<class Value_ , class Value_2 , typename = OnlyIfNotVector2<Value_>>
auto operator* (Value_ const &scalar, Vector2< Value_2 > const &vector)
 Scalar from the left. More...
 
std::string Name (Dim3 dim_3)
 
Dim3 Third (Dim3 dim_1, Dim3 dim_2)
 
Dim3 Next (Dim3 dim)
 
std::vector< Dim3Dimensions3 ()
 
template<class Value_ , class Value_2_ , typename = OnlyIfVector3<Value_>, typename = OnlyIfVector3<Value_2_>>
constexpr auto operator* (Value_ const &vector_1, Value_2_ const &vector_2)
 
template<class Value_ , class Value_2_ , typename = OnlyIfVector3<Value_>, typename = OnlyIfNotVector3<Value_2_>>
constexpr auto operator* (Value_ const &vector, Value_2_ scalar)
 
template<class Value_ , class Value_2_ , typename = OnlyIfVector3<Value_>, typename = OnlyIfNotVector3<Value_2_>>
constexpr auto operator* (Value_2_ scalar, Value_ const &vector)
 
template<class Value_1 , class Value_2_ , class Value_3 >
constexpr auto Triple (Vector3< Value_1 > const &vector_1, Vector3< Value_2_ > const &vector_2, Vector3< Value_3 > const &vector_3)
 
template<typename Multiplet_1_ , typename Multiplet_2_ , typename Multiplet_3_ >
Jet Join (Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2, Multiplet_3_ const &multiplet_3)
 
template<typename Multiplet_1_ , typename Multiplet_2_ , typename Multiplet_3_ >
boca::Singlet JoinConstituents (Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2, Multiplet_3_ const &multiplet_3)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
Jet Join (Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2)
 
template<typename Multiplet_1_ , typename Multiplet_2_ >
boca::Singlet JoinConstituents (Multiplet_1_ const &multiplet_1, Multiplet_2_ const &multiplet_2)
 
template<typename Multiplet_ >
Jet Join (Jet const &jet, Multiplet_ const &multiplet)
 
template<typename Multiplet_ >
Jet Join (Multiplet_ const &multiplet, Jet const &jet)
 
Observables operator+ (Observable const &observable_1, Observable const &observable_2)
 
std::string Name (Stage stage)
 Name of the multivariant tagging stage. More...
 
double TextHeight ()
 
double LabelHeight ()
 
int ColorCode (int number)
 
int FontCode (Style style=Style::normal)
 
std::string Name (Orientation orientation)
 
std::string Name (Significance significance)
 
latex::String LatexName (Significance significance)
 
std::vector< SignificanceConstrained (std::vector< Significance > const &significances)
 
std::vector< SignificanceExclusion (std::vector< Significance > const &significances)
 
std::vector< SignificanceDiscovery (std::vector< Significance > const &significances)
 
std::vector< SignificanceSignificancesSimple ()
 
std::vector< SignificanceSignificancesBase ()
 
std::vector< SignificanceSignificancesMD ()
 
std::vector< SignificanceSignificancesMI ()
 
std::vector< SignificanceSignificances ()
 
void SetText (TAttText &text)
 
void SetLine (TAttLine &line, int index)
 
void SetAxis (TAxis &axis, latex::String const &title)
 
void SetLogarithmic (TAxis &axis)
 
std::string Name (JetType jet_type)
 
std::string Name (Collider collider)
 
std::ostream & operator<< (std::ostream &stream, PseudoJet const &jet)
 
std::ostream & operator<< (std::ostream &stream, Family const &family)
 
std::ostream & operator<< (std::ostream &stream, Member const &member)
 
std::ostream & operator<< (std::ostream &stream, ClosestLepton const &closest_lepton)
 
std::ostream & operator<< (std::ostream &stream, Identification const &identification)
 
std::vector< ParticleCopyIfRelativeIsExactly (std::vector< Particle > const &particles, Relative relative, int id)
 
std::vector< ParticleCopyIfRelativeIsExactly (std::vector< Particle > const &particles, Relative relative, std::vector< int > const &ids)
 
std::vector< ParticleRemoveIfRelativeIs (std::vector< Particle > particles, Relative relative, Id id)
 
std::vector< ParticleRemoveIfRelativeIs (std::vector< Particle > particles, Relative relative, std::vector< Id > const &id)
 
std::vector< ParticleRemoveIfRelativeIsExactly (std::vector< Particle > particles, Relative relative, int id)
 
std::vector< ParticleRemoveIfRelativeIsExactly (std::vector< Particle > particles, Relative relative, std::vector< int > const &id)
 
std::vector< ParticleRemoveIfExactParticle (std::vector< Particle > const &particles, int id)
 
std::vector< ParticleRemoveIfParticle (std::vector< Particle > const &particles, Id id)
 
std::vector< ParticleRemoveIfOnlyMother (std::vector< Particle > particles, Id id)
 
Observables operator+ (Observables const &observables_1, Observables const &observables_2)
 
Observables operator+ (Observables &observables, Observable const &observable)
 
std::vector< SignificanceSignificancesMDI ()
 
template<typename Value >
auto sqr (Value const &value)
 square of value More...
 
template<typename Value >
auto cube (Value const &value)
 cube of value More...
 
template<typename Value_ >
int sgn (Value_ value)
 sign of value More...
 
template<typename Value_ >
int LowerBound (std::vector< Value_ > const &vector, Value_ value)
 sign of value More...
 
template<typename Value_ >
int UpperBound (std::vector< Value_ > const &vector, Value_ value)
 Upper bound of vector. More...
 
double RoundError (double value)
 round error two two digits More...
 
double RoundToDigits (double value, int digits=3)
 Round value to digits. More...
 
double RoundToError (double value, double error)
 Round value to precision of error. More...
 
double FloorToDigits (double value, int digits=2)
 Floor value to digits. More...
 
double CeilToDigits (double value, int digits=2)
 Ceiling to digits. More...
 
template<typename Enumeration >
using Unsigned = typename std::make_unsigned< typename std::underlying_type< Enumeration >::type >
 
template<typename Integer >
decltype(auto) IntegerRange (Integer last)
 
template<typename Integer >
decltype(auto) IntegerRange (Integer first, Integer last)
 
template<typename Enumeration >
decltype(auto) to_int (Enumeration value)
 
template<typename Enumeration >
decltype(auto) to_unsigned (Enumeration value)
 

Detailed Description

Boosted Collider Analysis.

Copyright (C) 2015-2016 Jan Hajer

Copyright (C) 2015 Jan Hajer

Copyright (C) 2016 Jan Hajer

Copyright (C) 2015-2016 Jan Hajer

YingYing Li: Lepton Isolation

Typedef Documentation

template<typename Value_2_ >
using boca::Array2 = typedef std::array<Value_2_, 2>
template<typename Value_ >
using boca::Array3 = typedef std::array<Value_, 3>
using boca::Latex = typedef latex::String
using boca::Lepton = typedef Jet
using boca::MissingEt = typedef Jet
using boca::NamePairs = typedef std::vector<std::pair<Names, Names>>
template<typename Value >
using boca::OnlyIfNotLorentzVectorBase = typedef typename std::enable_if<std::is_base_of<LorentzVectorBase<Value>, Value>::value>::type
template<typename Value >
using boca::OnlyIfNotMatrix2 = typedef typename std::enable_if < !IsMatrix2<Value>::value >::type
template<typename Value >
using boca::OnlyIfNotMatrix3 = typedef typename std::enable_if < !IsMatrix3<Value>::value >::type
template<typename Value_ >
using boca::OnlyIfNotVector2 = typedef typename std::enable_if < !IsVector2<Value_>::value >::type
template<typename Value_ >
using boca::OnlyIfNotVector3 = typedef typename std::enable_if < !IsVector3<Value_>::value >::type
template<typename Value_ >
using boca::OnlyIfVector3 = typedef typename std::enable_if < IsVector3<Value_>::value >::type
using boca::Photon = typedef Jet
template<typename Enumeration >
using boca::Unsigned = typedef typename std::make_unsigned<typename std::underlying_type<Enumeration>::type>

Enumeration Type Documentation

enum boca::Branch
strong
Enumerator
particle 
photon 
electron 
muon 
jet 
missing_et 
track 
tower 
e_flow_track 
e_flow_photon 
e_flow_neutral_hadron 
e_flow_muon 
gen_jet 
scalar_ht 
tau 
Examples:
simple/source/MainSimple.cpp.
enum boca::Collider
strong

Detector type indicates which kind of detector geometry is going to be used.

Enumerator
lhc 

default LHC detector

future 

default detector for a 100TeV collider

enum boca::Decay
strong
Enumerator
leptonic 
hadronic 
enum boca::DetectorPart
strong
Enumerator
none 
gen_particle 
track 
photon 
tower 
muon 
enum boca::Font
strong
Enumerator
times 
helvetica 
courier 
symbol 
enum boca::Id
strong

PDG particle naming conventions.

Enumerator
none 
down 

Down Quark.

up 

Up Quark.

strange 

Strange Quark.

charm 

Charm Quark.

bottom 

Bottom Quark.

top 

Top Quark.

bottom_partner 

Bottom Partner Quark.

top_partner 

Top Partner Quark.

electron 

Electron

electron_neutrino 
muon 
muon_neutrino 
tau 
tau_neutrino 
tau_partner 
tau_neutrino_partner 
gluon 
photon 
higgs 

Higgs boson.

Z_partner 
Z_partner_2 
W_partner 
heavy_higgs 
CP_odd_higgs 
charged_higgs 
any 
isr 
marker 
mixed_jet 
cluster 
string 
pi0 
rho0 
K0l 
pion 
rho 
eta 
omega 
K0s 
K0 
K0S 
KS 
etaP 
Dpm 
DS 
DS2 
D0 
DS0 
etac 
B0 
B0S 
Bpm 
BS 
BS0 
BsS0 
ypsilon 
down_down_1 
up_down_0 
up_down_1 
Delta 
neutron 
up_up_1 
proton 
Delta_2 
CP_violating_higgs 
higgs_coupling 
enum boca::JetDetail
strong
Enumerator
none 
plain 
structure 
isolation 
enum boca::JetType
strong

JetType indicates which type of jet is going to be used.

Enumerator
jet 

usual Delphse Jet

gen_jet 

Delphes GenJet.

e_flow_jet 

Jet formed from the eflow Variables according to the parameter set in Settings.

enum boca::MultiId
strong

Groups of PDG particles.

Enumerator
quark 
five_quark 
charged_lepton 
neutrino 
neutral_boson 

Multi particle containing neutral bosons.

bosons 

Multi particle containing bosons.

enum boca::Orientation
strong

Orientation of the Legend.

the default position is inside center center only deviations from this position need to be requested

Enumerator
none 
center 
left 
right 
top 
bottom 
outside 
enum boca::Output
strong
Enumerator
none 
fast 
normal 
significance 
efficiency 
plot 
cut 
plot_hist 
enum boca::Relative
strong
Enumerator
none 
particle 
mother 
step_mother 
grand_mother 
great_grand_mother 
enum boca::Significance
strong
Enumerator
none 
experimental 

experimental error \(\frac{s}{b}\)

background 

simple significance estimator \(\frac{s}{\sqrt b}\)

sum 

slighly more complicated estimator for significance \(\frac{s}{\sqrt{s+b}}\)

poisson 

poisson estimator for significance \(\sqrt{-2 \ln \frac{L_1}{L_0}}\)

discovery 

discovery hypothesis and requirement

exclusion 

exclusion hypothesis and requirement

enum boca::Source
strong
Enumerator
delphes 
pgs 
parton 
tagger 
snowmass 
enum boca::Stage
strong

The stage of the multivariant tagging process.

Enumerator
trainer 

Training stage.

reader 

Reading stage.

enum boca::Status
strong
Enumerator
none 
stable 
unstable 
generator 
enum boca::Style
strong
Enumerator
none 
normal 
bold 
italic 
enum boca::Tag
strong

The Tag distinguishes between signal and background events.

Enumerator
background 

Background.

signal 

Signal.

Function Documentation

int boca::ColorCode ( int  number)
std::vector< Significance > boca::Constrained ( std::vector< Significance > const &  significances)
std::vector< Particle > boca::CopyFirst ( std::vector< Particle particles,
std::size_t  number 
)
std::vector< Particle > boca::CopyIf5Quark ( std::vector< Particle > const &  particles)
std::vector< Particle > boca::CopyIfAncestor ( std::vector< Particle > const &  particles,
Id  ancestor 
)
std::vector< Particle > boca::CopyIfDaughter ( std::vector< Particle > const &  particles,
std::vector< Particle > const &  daughters 
)
std::vector< Particle > boca::CopyIfDrellYan ( std::vector< Particle > const &  particles)

Copy the two particles which are on the DY position.

here we assume that the DY particle are always on position 6 and 7

std::vector< Particle > boca::CopyIfExactParticle ( std::vector< Particle > const &  particles,
int  id 
)
std::vector< Particle > boca::CopyIfFamily ( std::vector< Particle > const &  particles,
Id  id,
Id  mother_id 
)
std::vector< Particle > boca::CopyIfGrandDaughter ( std::vector< Particle > const &  particles,
std::vector< Particle > const &  daughters 
)
std::vector< Particle > boca::CopyIfGrandMother ( std::vector< Particle > const &  particles,
Id  grand_mother_id 
)
std::vector< Particle > boca::CopyIfGrandMother ( std::vector< Particle > const &  particles,
Particle  grand_mother 
)
std::vector< Particle > boca::CopyIfGreatGrandMother ( std::vector< Particle > const &  particles,
Id  grand_grand_mother_id 
)
std::vector< Particle > boca::CopyIfLepton ( std::vector< Particle > const &  particles)
std::vector< Particle > boca::CopyIfMother ( std::vector< Particle > const &  particles,
Id  mother_id 
)
std::vector< Particle > boca::CopyIfMother ( std::vector< Particle > const &  particles,
std::vector< Id > const &  mother_id 
)
std::vector< Particle > boca::CopyIfMother ( std::vector< Particle > const &  particles,
Particle  mother 
)
std::vector< Particle > boca::CopyIfNeutrino ( std::vector< Particle > const &  particles)
std::vector< Particle > boca::CopyIfParticle ( std::vector< Particle > const &  particles,
Id  id 
)
std::vector< Particle > boca::CopyIfParticles ( std::vector< Particle > const &  particles,
std::vector< Id > const &  ids 
)
std::vector< Particle > boca::CopyIfPosition ( std::vector< Particle > const &  particles,
int  position 
)
std::vector< Particle > boca::CopyIfPosition ( std::vector< Particle > const &  particles,
int  position_1,
int  position_2 
)
std::vector< Particle > boca::CopyIfQuark ( std::vector< Particle > const &  particles)
std::vector< Particle > boca::CopyIfRelativeIs ( std::vector< Particle > const &  particles,
Relative  relative,
Id  id 
)
std::vector< Particle > boca::CopyIfRelativeIs ( const std::vector< boca::Particle > &  particles,
boca::Relative  relative,
std::vector< Id > const &  ids 
)
std::vector<Particle> boca::CopyIfRelativeIsExactly ( std::vector< Particle > const &  particles,
Relative  relative,
int  id 
)
std::vector<Particle> boca::CopyIfRelativeIsExactly ( std::vector< Particle > const &  particles,
Relative  relative,
std::vector< int > const &  ids 
)
std::vector< Dim2 > boca::Dimensions2 ( )
std::vector< Dim3 > boca::Dimensions3 ( )
std::vector< Significance > boca::Discovery ( std::vector< Significance > const &  significances)
std::vector< Significance > boca::Exclusion ( std::vector< Significance > const &  significances)
bool boca::Exists ( std::string const &  name)
int boca::FontCode ( Style  style = Style::normal)
Id boca::Heavyest ( MultiId  multi_id)

Heaviest particle of a given MultiId.

template<typename Integer >
decltype(auto) boca::IntegerRange ( Integer  first,
Integer  last 
)
std::vector< Jet > boca::JetVector ( std::vector< fastjet::PseudoJet > const &  pseudo_jets)
Jet boca::Join ( std::vector< Jet > const &  jets)
Jet boca::Join ( Jet const &  jet_1,
Jet const &  jet_2 
)
Jet boca::Join ( Jet const &  jet_1,
Jet const &  jet_2,
Jet const &  jet_3 
)
template<typename Multiplet_1_ , typename Multiplet_2_ , typename Multiplet_3_ >
Jet boca::Join ( Multiplet_1_ const &  multiplet_1,
Multiplet_2_ const &  multiplet_2,
Multiplet_3_ const &  multiplet_3 
)
template<typename Multiplet_1_ , typename Multiplet_2_ >
Jet boca::Join ( Multiplet_1_ const &  multiplet_1,
Multiplet_2_ const &  multiplet_2 
)
template<typename Multiplet_ >
Jet boca::Join ( Jet const &  jet,
Multiplet_ const &  multiplet 
)
template<typename Multiplet_ >
Jet boca::Join ( Multiplet_ const &  multiplet,
Jet const &  jet 
)
template<typename Multiplet_1_ , typename Multiplet_2_ , typename Multiplet_3_ >
boca::Singlet boca::JoinConstituents ( Multiplet_1_ const &  multiplet_1,
Multiplet_2_ const &  multiplet_2,
Multiplet_3_ const &  multiplet_3 
)
template<typename Multiplet_1_ , typename Multiplet_2_ >
boca::Singlet boca::JoinConstituents ( Multiplet_1_ const &  multiplet_1,
Multiplet_2_ const &  multiplet_2 
)
double boca::LabelHeight ( )
latex::String boca::LatexName ( Significance  significance)
Id boca::Lightest ( MultiId  multi_id)

Lightest particle of a given MultiID.

std::vector< LorentzDim > boca::LorentzDimensions ( )
Mass boca::MassOf ( Id  id)

Mass of particle with given Id.

< FIXME remove again

< FIXME remove again

Mass boca::MassOf ( MultiId  multi_id)

Common mass of a multi particle.

template<typename Value_1_ , typename Value_2_ >
constexpr Matrix2<ValueProduct<Value_1_, Value_2_> > boca::MatrixProduct ( Vector2< Value_1_ > const &  vector_1,
Vector2< Value_2_ > const &  vector_2 
)
template<typename Value_1_ , typename Value_2_ >
constexpr Matrix3<ValueProduct<Value_1_, Value_2_> > boca::MatrixProduct ( Vector3< Value_1_ > const &  vector_1,
Vector3< Value_2_ > const &  vector_2 
)

Multiplication with a matrix.

template<typename Value_ >
Range<Value_> boca::MinMax ( std::vector< Value_ > const &  vector)
template<typename Iterator_ , typename Value_ >
Range<Value_> boca::MinMax ( Iterator_  begin,
Iterator_  end 
)
Relative boca::Mother ( Relative  relative)
std::string boca::Name ( DetectorPart  detector_part)
std::string boca::Name ( Source  source)
std::string boca::Name ( Dim3  dim_3)
std::string boca::Name ( Tag  tag)

Name of Tag.

std::string boca::Name ( LorentzDim  lorentz_dim)
std::string boca::Name ( Significance  significance)
std::string boca::Name ( Stage  stage)

Name of the multivariant tagging stage.

std::string boca::Name ( JetType  jet_type)
std::string boca::Name ( Relative  relative)
std::string boca::Name ( Dim2  dim_2)
std::string boca::Name ( JetDetail  jet_detail)
std::string boca::Name ( boca::Matrix  matrix)
std::string boca::Name ( Output  output)
std::string boca::Name ( Branch  branch)
std::string boca::Name ( Decay  decay)
std::string boca::Name ( Orientation  orientation)
std::string boca::Name ( Collider  collider)
std::string boca::Name ( int  id)

Name of a particle with given PDG number.

std::string boca::Name ( Id  id)

Name of a particle with given Id.

std::string boca::Name ( MultiId  multi_id)

Names of PDG particle groups.

Dim3 boca::Next ( Dim3  dim)
template<class Value_ , class Value_2 >
auto boca::operator* ( Vector2< Value_ > const &  vector_1,
const Vector2< Value_2 > &  vector_2 
)

Dot product.

template<class Value_ , class Value_2 , typename = OnlyIfNotVector2<Value_2>>
auto boca::operator* ( Vector2< Value_ > const &  vector,
Value_2 const &  scalar 
)

Scalar from the right.

template<class Value_ , class Value_2 , typename = OnlyIfNotVector2<Value_>>
auto boca::operator* ( Value_ const &  scalar,
Vector2< Value_2 > const &  vector 
)

Scalar from the left.

template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix2<Value_2_>>
constexpr auto boca::operator* ( Matrix2< Value_ > const &  matrix,
Value_2_  scalar 
)
template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix2<Value_2_>>
constexpr auto boca::operator* ( Value_2_  scalar,
Matrix2< Value_ > const &  matrix 
)
template<class Value_ , class Value_2_ >
constexpr auto boca::operator* ( Matrix2< Value_ > const &  matrix,
Vector2< Value_2_ > const &  vector 
)
template<class Value_ , class Value_2_ >
constexpr Matrix2<ValueProduct<Value_, Value_2_> > boca::operator* ( Vector2< Value_2_ > const &  vector,
Matrix2< Value_ > const &  matrix 
)
template<class Value , class Value_2 >
constexpr auto boca::operator* ( LorentzVectorBase< Value > const &  lorentz_vector_1,
LorentzVectorBase< Value_2 > const &  lorentz_vector_2 
)

Scalar product of lorentzvectors.

template<class Value , class Value_2 , typename = OnlyIfNotLorentzVectorBase<Value_2>>
constexpr auto boca::operator* ( LorentzVectorBase< Value > const &  lorentz_vector,
Value_2  scalar 
)

Scaling of lorentzvectors with a real number.

template<class Value , class Value_2 , typename = OnlyIfNotLorentzVectorBase<Value>>
constexpr auto boca::operator* ( Value  scalar,
LorentzVectorBase< Value_2 > const &  lorentz_vector 
)

Scaling of lorentzvectors with a real number.

template<class Value_ , class Value_2_ , typename = OnlyIfVector3<Value_>, typename = OnlyIfVector3<Value_2_>>
constexpr auto boca::operator* ( Value_ const &  vector_1,
Value_2_ const &  vector_2 
)
template<class Value_ , class Value_2_ , typename = OnlyIfVector3<Value_>, typename = OnlyIfNotVector3<Value_2_>>
constexpr auto boca::operator* ( Value_ const &  vector,
Value_2_  scalar 
)
template<class Value_ , class Value_2_ , typename = OnlyIfVector3<Value_>, typename = OnlyIfNotVector3<Value_2_>>
constexpr auto boca::operator* ( Value_2_  scalar,
Value_ const &  vector 
)
template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix3<Value_2_>>
constexpr auto boca::operator* ( Matrix3< Value_ > const &  matrix,
Value_2_  scalar 
)

Multiplication with a scalar.

template<class Value_ , class Value_2_ , typename = OnlyIfNotMatrix3<Value_2_>>
constexpr auto boca::operator* ( Value_2_  scalar,
Matrix3< Value_ > const &  matrix 
)

Multiplication with a scalar.

template<class Value_ , class Value_2_ >
constexpr auto boca::operator* ( Matrix3< Value_ > const &  matrix,
Vector3< Value_2_ > const &  vector 
)

Multiplication with a vector.

template<class Value_ , class Value_2_ >
constexpr Matrix3<ValueProduct<Value_, Value_2_> > boca::operator* ( Vector3< Value_2_ > const &  vector,
Matrix3< Value_ > const &  matrix 
)

Multiplication with a vector.

Observables boca::operator+ ( Observables const &  observables_1,
Observables const &  observables_2 
)
Observables boca::operator+ ( Observable const &  observable_1,
Observable const &  observable_2 
)
Observables boca::operator+ ( Observables observables,
Observable const &  observable 
)
std::ostream & boca::operator<< ( std::ostream &  stream,
Tag  tag 
)

Stream the name of a particle with given Id.

std::ostream & boca::operator<< ( std::ostream &  stream,
Relative  relative 
)

Stream the name of a family relative.

std::ostream& boca::operator<< ( std::ostream &  stream,
Identification const &  identification 
)
std::ostream& boca::operator<< ( std::ostream &  stream,
ClosestLepton const &  closest_lepton 
)
std::ostream& boca::operator<< ( std::ostream &  stream,
Member const &  member 
)
std::ostream& boca::operator<< ( std::ostream &  stream,
Family const &  family 
)
std::ostream & boca::operator<< ( std::ostream &  stream,
Id  id 
)

Stream the name of a particle with given Id.

std::ostream & boca::operator<< ( std::ostream &  stream,
MultiId  id 
)

Stream the name of a particle with given MultiId.

std::ostream& boca::operator<< ( std::ostream &  stream,
PseudoJet const &  jet 
)
std::vector< Particle > boca::ParticleVector ( std::vector< fastjet::PseudoJet > const &  pseudo_jets)
void boca::PrintParticles ( std::vector< Particle > const &  particles)
std::vector< fastjet::PseudoJet > boca::PseudoJetVector ( std::vector< Jet > const &  jets)
std::vector< Relative > boca::Relatives ( )
std::vector< Particle > boca::RemoveIfDaughter ( std::vector< Particle > const &  particles,
std::vector< Particle > const &  daughters 
)
std::vector<Particle> boca::RemoveIfExactParticle ( std::vector< Particle particles,
int  id 
)
std::vector<Particle> boca::RemoveIfExactParticle ( std::vector< Particle > const &  particles,
int  id 
)
std::vector< Particle > boca::RemoveIfGrandFamily ( std::vector< Particle > const &  particles,
Id  id,
Id  grand_mother_id 
)

returns only particles with the correct id and non fitting grand mother id

std::vector< Particle > boca::RemoveIfLetpon ( std::vector< Particle > const &  particles)
std::vector< Particle > boca::RemoveIfMother ( std::vector< Particle > const &  particles,
Id  mother_id 
)
std::vector< Particle > boca::RemoveIfMother ( std::vector< Particle > const &  particles,
std::vector< Id > const &  mother_ids 
)
std::vector<Particle> boca::RemoveIfOnlyMother ( std::vector< Particle > const &  particles,
Id  mother_id 
)
std::vector<Particle> boca::RemoveIfOnlyMother ( std::vector< Particle particles,
Id  id 
)
std::vector<Particle> boca::RemoveIfParticle ( std::vector< Particle particles,
Id  id 
)
std::vector<Particle> boca::RemoveIfParticle ( std::vector< Particle > const &  particles,
Id  id 
)
std::vector< Particle > boca::RemoveIfQuark ( std::vector< Particle > const &  particles)
std::vector<Particle> boca::RemoveIfRelativeIs ( std::vector< Particle particles,
Relative  relative,
Id  id 
)
std::vector<Particle> boca::RemoveIfRelativeIs ( std::vector< Particle particles,
Relative  relative,
std::vector< Id > const &  id 
)
std::vector<Particle> boca::RemoveIfRelativeIsExactly ( std::vector< Particle particles,
Relative  relative,
int  id 
)
std::vector<Particle> boca::RemoveIfRelativeIsExactly ( std::vector< Particle particles,
Relative  relative,
std::vector< int > const &  id 
)
std::vector< Particle > boca::RemoveIfSingleMother ( std::vector< Particle > const &  particles)
std::vector< Id > boca::Resolve ( MultiId  multi_id)

Vector if PDG particle Ids for a given MultiId.

void boca::SetAxis ( TAxis &  axis,
latex::String const &  title 
)
void boca::SetLine ( TAttLine &  line,
int  index 
)
void boca::SetLogarithmic ( TAxis &  axis)
void boca::SetText ( TAttText &  text)
std::vector< Significance > boca::Significances ( )
std::vector< Significance > boca::SignificancesBase ( )
std::vector< Significance > boca::SignificancesMD ( )
std::vector< Significance > boca::SignificancesMDI ( )
std::vector< Significance > boca::SignificancesMI ( )
std::vector< Significance > boca::SignificancesSimple ( )
template<typename Multiplet >
std::vector<Multiplet> boca::SortedByBdt ( std::vector< Multiplet multiplets)

sort vector of jets with largest bdt at the front

template<class Multiplet >
std::vector<Multiplet> boca::SortedByMass ( std::vector< Multiplet multiplets)
template<class Multiplet >
std::vector<Multiplet> boca::SortedByMassTo ( std::vector< Multiplet multiplets,
Mass const &  mass 
)
template<class Multiplet >
std::vector<Multiplet> boca::SortedByMassTo ( std::vector< Multiplet multiplets,
Id  id 
)
template<class Multiplet >
std::vector<Multiplet> boca::SortedByMaxDeltaRap ( std::vector< Multiplet multiplets)
template<typename Multiplet_1_ , typename Multiplet_2_ >
std::vector<Multiplet_1_> boca::SortedByMinDeltaRTo ( std::vector< Multiplet_1_ >  multiplets,
Multiplet_2_ const &  jet 
)
template<class Multiplet >
std::vector<Multiplet> boca::SortedByPhi ( std::vector< Multiplet multiplets)
template<class Multiplet >
std::vector<Multiplet> boca::SortedByPt ( std::vector< Multiplet multiplets)
template<class Multiplet >
std::vector<Multiplet> boca::SortedByRap ( std::vector< Multiplet multiplets)
Relative boca::StepMother ( Relative  relative)
double boca::TextHeight ( )
Dim3 boca::Third ( Dim3  dim_1,
Dim3  dim_2 
)
template<typename Enumeration >
decltype(auto) boca::to_int ( Enumeration  value)
template<typename Enumeration >
decltype(auto) boca::to_unsigned ( Enumeration  value)
template<class Value_1 , class Value_2_ , class Value_3 >
constexpr auto boca::Triple ( Vector3< Value_1 > const &  vector_1,
Vector3< Value_2_ > const &  vector_2,
Vector3< Value_3 > const &  vector_3 
)