Fork me on GitHub

source: svn/trunk/interface/JetsUtil.h@ 248

Last change on this file since 248 was 215, checked in by Xavier Rouby, 16 years ago

previously called JetUtils

File size: 2.0 KB
Line 
1#ifndef _JETSUTIL_H_
2#define _JETSUTIL_H_
3
4/*
5 ---- Delphes ----
6 A Fast Simulator for general purpose LHC detector
7 S. Ovyn ~~~~ severine.ovyn@uclouvain.be
8
9 Center for Particle Physics and Phenomenology (CP3)
10 Universite Catholique de Louvain (UCL)
11 Louvain-la-Neuve, Belgium
12*/
13
14/// \file SmearUtil.h
15/// \brief RESOLution class, and some generic definitions
16
17
18#include <vector>
19#include "TLorentzVector.h"
20
21#include "SmearUtil.h"
22#include "BlockClasses.h"
23#include "TSimpleArray.h"
24#include "ExRootTreeReader.h"
25#include "ExRootTreeWriter.h"
26#include "ExRootTreeBranch.h"
27#include "PhysicsTower.hh"
28#include "TRandom.h"
29#include <iostream>
30#include <sstream>
31#include <fstream>
32#include <iomanip>
33#include <cstring>
34#include "PseudoJet.hh"
35#include "ClusterSequence.hh"
36
37// get info on how fastjet was configured
38#include "Utilities/Fastjet/include/fastjet/config.h"
39
40// make sure we have what is needed
41#ifdef ENABLE_PLUGIN_SISCONE
42# include "SISConePlugin.hh"
43#endif
44#ifdef ENABLE_PLUGIN_CDFCONES
45# include "CDFMidPointPlugin.hh"
46# include "CDFJetCluPlugin.hh"
47#endif
48
49using namespace std;
50
51class JetsUtil
52{
53 public:
54 /// Constructor
55 JetsUtil();
56 JetsUtil(const string& DetDatacard);
57 JetsUtil(const RESOLution* DetDatacard);
58 JetsUtil(const JetsUtil& jet);
59 JetsUtil& operator=(const JetsUtil& jet);
60 ~JetsUtil() {delete DET; delete plugins;};
61 void init(); // for constructors
62
63 vector<fastjet::PseudoJet> RunJets(const vector<fastjet::PseudoJet>& input_particles);
64 void RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootGenParticle> & NFCentralQ);
65 void RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector<fastjet::PseudoJet> & sorted_jets,const vector<PhysicsTower> & towers, const vector<TLorentzVector> & TrackCentral);
66
67 private:
68 RESOLution *DET;
69 fastjet::JetDefinition jet_def;
70 fastjet::JetDefinition::Plugin * plugins;
71 vector<fastjet::PseudoJet> inclusive_jets;
72 vector<fastjet::PseudoJet> sorted_jets;
73};
74
75#endif
Note: See TracBrowser for help on using the repository browser.