#ifndef _JETSUTIL_H_ #define _JETSUTIL_H_ /* ---- Delphes ---- A Fast Simulator for general purpose LHC detector S. Ovyn ~~~~ severine.ovyn@uclouvain.be Center for Particle Physics and Phenomenology (CP3) Universite Catholique de Louvain (UCL) Louvain-la-Neuve, Belgium */ /// \file SmearUtil.h /// \brief RESOLution class, and some generic definitions #include #include "TLorentzVector.h" #include "SmearUtil.h" #include "BlockClasses.h" #include "TSimpleArray.h" #include "ExRootTreeReader.h" #include "ExRootTreeWriter.h" #include "ExRootTreeBranch.h" #include "PhysicsTower.hh" #include "TRandom.h" #include #include #include #include #include #include "PseudoJet.hh" #include "ClusterSequence.hh" // get info on how fastjet was configured #include "Utilities/Fastjet/include/fastjet/config.h" // make sure we have what is needed #ifdef ENABLE_PLUGIN_SISCONE # include "SISConePlugin.hh" #endif #ifdef ENABLE_PLUGIN_CDFCONES # include "CDFMidPointPlugin.hh" # include "CDFJetCluPlugin.hh" #endif using namespace std; class JetsUtil { public: /// Constructor JetsUtil(); JetsUtil(const string& DetDatacard); JetsUtil(const RESOLution* DetDatacard); JetsUtil(const JetsUtil& jet); JetsUtil& operator=(const JetsUtil& jet); ~JetsUtil() {delete DET; delete plugins;}; void init(); // for constructors vector RunJets(const vector& input_particles); void RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector & sorted_jets,const TSimpleArray & NFCentralQ); void RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector & sorted_jets,const vector & towers, const vector & TrackCentral); private: RESOLution *DET; fastjet::JetDefinition jet_def; fastjet::JetDefinition::Plugin * plugins; vector inclusive_jets; vector sorted_jets; }; #endif