Fork me on GitHub

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

Last change on this file since 389 was 350, checked in by severine ovyn, 16 years ago

first test HepMC

File size: 4.2 KB
Line 
1#ifndef _JETSUTIL_H_
2#define _JETSUTIL_H_
3
4/***********************************************************************
5** **
6** /----------------------------------------------\ **
7** | Delphes, a framework for the fast simulation | **
8** | of a generic collider experiment | **
9** \----------------------------------------------/ **
10** **
11** **
12** This package uses: **
13** ------------------ **
14** FastJet algorithm: Phys. Lett. B641 (2006) [hep-ph/0512210] **
15** Hector: JINST 2:P09005 (2007) [physics.acc-ph:0707.1198v2] **
16** FROG: [hep-ex/0901.2718v1] **
17** **
18** ------------------------------------------------------------------ **
19** **
20** Main authors: **
21** ------------- **
22** **
23** Severine Ovyn Xavier Rouby **
24** severine.ovyn@uclouvain.be xavier.rouby@cern **
25** **
26** Center for Particle Physics and Phenomenology (CP3) **
27** Universite catholique de Louvain (UCL) **
28** Louvain-la-Neuve, Belgium **
29** **
30** Copyright (C) 2008-2009, **
31** All rights reserved. **
32** **
33***********************************************************************/
34
35
36#include <vector>
37#include "TLorentzVector.h"
38
39#include "SmearUtil.h"
40#include "BlockClasses.h"
41#include "TSimpleArray.h"
42#include "ExRootTreeReader.h"
43#include "ExRootTreeWriter.h"
44#include "ExRootTreeBranch.h"
45#include "PhysicsTower.hh"
46#include "TRandom.h"
47#include <iostream>
48#include <sstream>
49#include <fstream>
50#include <iomanip>
51#include <cstring>
52#include "PseudoJet.hh"
53#include "ClusterSequence.hh"
54
55// get info on how fastjet was configured
56#include "Utilities/Fastjet/include/fastjet/config.h"
57
58// make sure we have what is needed
59#ifdef ENABLE_PLUGIN_SISCONE
60# include "SISConePlugin.hh"
61#endif
62#ifdef ENABLE_PLUGIN_CDFCONES
63# include "CDFMidPointPlugin.hh"
64# include "CDFJetCluPlugin.hh"
65#endif
66
67using namespace std;
68
69class JetsUtil
70{
71 public:
72 /// Constructor
73 JetsUtil();
74 JetsUtil(const string& DetDatacard);
75 JetsUtil(const RESOLution* DetDatacard);
76 JetsUtil(const JetsUtil& jet);
77 JetsUtil& operator=(const JetsUtil& jet);
78 ~JetsUtil() {delete DET; delete plugins;};
79 void init(); // for constructors
80
81 vector<fastjet::PseudoJet> RunJets(const vector<fastjet::PseudoJet>& input_particles, const vector<TRootTracks> & TrackCentral, vector<int> &NTrackJet, vector<float> &EHADEEM, D_CaloTowerList list_of_active_towers);
82
83 vector<fastjet::PseudoJet> RunJetsResol(const vector<fastjet::PseudoJet>& input_particles);
84
85 void RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootC::GenParticle> & NFCentralQ, const vector<int> &NTrackJet, const vector<float> &EHADEEM);
86
87 void RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector<fastjet::PseudoJet> & sorted_jets,const vector<PhysicsTower> & towers, const vector<TRootTracks> & TrackCentral, const vector<int> &NTrackJet, const vector<float> &EHADEEM);
88
89 private:
90 RESOLution *DET;
91 fastjet::JetDefinition jet_def;
92 fastjet::JetDefinition::Plugin * plugins;
93 vector<fastjet::PseudoJet> inclusive_jets;
94 vector<fastjet::PseudoJet> sorted_jets;
95};
96
97#endif
Note: See TracBrowser for help on using the repository browser.