ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/include/FJet.h
Revision: 1.1
Committed: Fri May 25 08:39:22 2012 UTC (12 years, 11 months ago) by rkogler
Content type: text/plain
Branch: MAIN
CVS Tags: Makefile, v1-00, Feb-15-2013-v1, Feb-14-2013, Feb-07-2013-v1, Jan-17-2013-v2, Jan-17-2013-v1, Jan-16-2012-v1, Jan-09-2012-v2, Jan-09-2012-v1, Dec-26-2012-v1, Dec-20-2012-v1, Dec-17-2012-v1, Nov-30-2012-v2, Nov-30-2012-v1, HEAD
Error occurred while calculating annotation data.
Log Message:
initial revision

File Contents

# Content
1 #ifndef FJet_H
2 #define FJet_H
3
4 #include <vector>
5 #include "TObjArray.h"
6 #include "TClonesArray.h"
7 #include "../include/Objects.h"
8 #include "fastjet/JetDefinition.hh"
9 #include "fastjet/AreaDefinition.hh"
10 #include "fastjet/ClusterSequenceArea.hh"
11
12 using namespace std;
13
14 class FJet{
15
16 public:
17
18 enum EStrategy{eN2Plain = 0, eN2Tiled, eN2MinHeapTiled, eNlnN, eNlnNCam, eBest};
19 enum EAreaType{eActive = 0, eActiveGhostsInJets, ePassiveOneGhost, ePassive, eVoronoi};
20
21 FJet();
22
23 ~FJet();
24
25 void FindJets(const vector<Particle*> parts, vector<Jet*>& jets);
26 void PrepareInput(vector<GenParticle> genparts, vector<Particle*>& out);
27 vector<int> GetPartJetAssoc();
28
29 void Init();
30 void Print(const char* usertitle);
31
32 // setters
33 void SetJetAlgorithm(fastjet::JetAlgorithm algo);
34 void SetRecombScheme(fastjet::RecombinationScheme recom);
35 void SetRadius(double radius);
36 void SetPtCut(double ptmin){fPtMin = ptmin;}
37
38 void CalculateArea(bool flag = true){bUseArea = flag; InitArea();}
39 void InitArea();
40 void SetAreaType(EAreaType type);
41 void SetGhostMaxRap(double max_rap){fGhostSpec->set_ghost_maxrap(max_rap); InitArea();}
42 void SetGhostRepeat(int repeat){fGhostSpec->set_repeat(repeat); InitArea();}
43 void SetGhostArea(double area){fGhostSpec->set_ghost_area(area); InitArea();}
44 void SetGhostGridScatter(double scatter){fGhostSpec->set_grid_scatter(scatter); InitArea();}
45 void SetGhostKtScatter(double scatter){fGhostSpec->set_kt_scatter(scatter); InitArea();}
46 void SetGhostMeanKt(double meankt){fGhostSpec->set_mean_ghost_kt(meankt); InitArea();}
47 void SetVoronoiEffR(double factor){if (fVoronoiSpec){delete fVoronoiSpec;} fVoronoiSpec = new fastjet::VoronoiAreaSpec(factor); InitArea();}
48
49 // getters
50 fastjet::JetAlgorithm GetJetAlgorithm();
51 fastjet::RecombinationScheme GetRecombScheme();
52 double GetExclusiveDmerge(int Njet);
53 double GetRadius(){return fR;}
54 double GetPtCut(){return fPtMin;}
55
56 private:
57
58 // store the jetfinder
59 fastjet::ClusterSequence* fJetFinder; //! new object every time fastjet is called
60
61 // general fastjet settings
62 fastjet::JetAlgorithm fJetAlgo; //! the required jet algorithm
63 fastjet::RecombinationScheme fRecombScheme; //! the required recombination scheme
64 fastjet::Strategy fStrategy; //! the strategy FastJet uses
65 double fR; //! jet finder radius
66 double fPtMin; //! Pt_min of clustered jets
67
68 fastjet::JetDefinition* fJetDef; //! the jet definition
69
70 vector<int> fpart_jet_assoc; //! indices of jet constituents
71
72 // area utilities:
73 bool bUseArea; //! calculate area? (default: false)
74 fastjet::AreaDefinition* fAreaDef; //! area definition
75 fastjet::GhostedAreaSpec* fGhostSpec; //! ghosted area specifications
76 fastjet::VoronoiAreaSpec* fVoronoiSpec; //! voronoi area specifications
77 fastjet::AreaType fGhostAreaType; //! the requested area type
78 bool bVoronoiArea; //! calculate voronoi area? (default: false)
79
80 };
81
82
83 #endif