CMS 3D CMS Logo

FastjetJetProducer.h
Go to the documentation of this file.
1 #ifndef RecoJets_JetProducers_plugins_FastjetJetProducer_h
2 #define RecoJets_JetProducers_plugins_FastjetJetProducer_h
3 
7 
10 
12 
13 #include <fastjet/tools/Transformer.hh>
14 
15 // a function returning
16 // min(Rmax, deltaR_factor * deltaR(j1,j2))
17 // where j1 and j2 are the 2 subjets of j
18 // if the jet does not have exactly 2 pieces, Rmax is used.
19 class DynamicRfilt : public fastjet::FunctionOfPseudoJet<double> {
20 public:
21  // default ctor
22  DynamicRfilt(double Rmax, double deltaR_factor) : _Rmax(Rmax), _deltaR_factor(deltaR_factor) {}
23 
24  // action of the function
25  double result(const fastjet::PseudoJet& j) const override {
26  if (!j.has_pieces())
27  return _Rmax;
28 
29  std::vector<fastjet::PseudoJet> pieces = j.pieces();
30  if (pieces.size() != 2)
31  return _Rmax;
32 
33  double deltaR = pieces[0].delta_R(pieces[1]);
35  }
36 
37 private:
39 };
40 
42 public:
43  // typedefs
44  typedef fastjet::Transformer transformer;
45  typedef std::unique_ptr<transformer> transformer_ptr;
46  typedef std::vector<transformer_ptr> transformer_coll;
47  //
48  // construction/destruction
49  //
50  explicit FastjetJetProducer(const edm::ParameterSet& iConfig);
51  ~FastjetJetProducer() override;
52  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
54 
55  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
56 
57  // typedefs
58  typedef std::shared_ptr<DynamicRfilt> DynamicRfiltPtr;
59 
60 protected:
61  //
62  // member functions
63  //
64 
65  virtual void produceTrackJets(edm::Event& iEvent, const edm::EventSetup& iSetup);
66  void runAlgorithm(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
67 
68 private:
69  // trackjet clustering parameters
72  float dzTrVtxMax_;
73  float dxyTrVtxMax_;
75  float maxVtxZ_;
76 
77  // jet trimming parameters
81  bool useTrimming_;
82  bool usePruning_;
86  bool useSoftDrop_;
88  double muCut_;
89  double yCut_;
90  double rFilt_;
92  double rFiltFactor_;
93  int nFilt_;
94  double trimPtFracMin_;
95  double zCut_;
96  double RcutFactor_;
97  double csRho_EtaMax_;
98  double csRParam_;
99  double beta_;
100  double R0_;
102  double gridSpacing_;
103 
104  double subjetPtMin_;
105  double muMin_;
106  double muMax_;
107  double yMin_;
108  double yMax_;
109  double dRMin_;
110  double dRMax_;
111  int maxDepth_;
112 
113  // tokens for the data access
115 };
116 
117 #endif
ConfigurationDescriptions.h
FastjetJetProducer::maxDepth_
int maxDepth_
for CMSBoostedTauSeedingAlgorithm : max dR
Definition: FastjetJetProducer.h:111
FastjetJetProducer::correctShape_
bool correctShape_
Soft drop.
Definition: FastjetJetProducer.h:87
FastjetJetProducer::useKtPruning_
bool useKtPruning_
algorithm for seeding reconstruction of boosted Taus (similar to mass-drop tagging)
Definition: FastjetJetProducer.h:84
FastjetJetProducer::transformer_ptr
std::unique_ptr< transformer > transformer_ptr
Definition: FastjetJetProducer.h:45
FastjetJetProducer::transformer_coll
std::vector< transformer_ptr > transformer_coll
Definition: FastjetJetProducer.h:46
FastjetJetProducer::produceTrackJets
virtual void produceTrackJets(edm::Event &iEvent, const edm::EventSetup &iSetup)
Definition: FastjetJetProducer.cc:193
min
T min(T a, T b)
Definition: MathUtil.h:58
FastjetJetProducer::useSoftDrop_
bool useSoftDrop_
constituent subtraction technique
Definition: FastjetJetProducer.h:86
edm::EDGetTokenT
Definition: EDGetToken.h:33
FastjetJetProducer::muMax_
double muMax_
for CMSBoostedTauSeedingAlgorithm : min mass-drop
Definition: FastjetJetProducer.h:106
FastjetJetProducer::csRho_EtaMax_
double csRho_EtaMax_
for pruning: constituent dR * pt/2m < rcut_factor
Definition: FastjetJetProducer.h:97
FastjetJetProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: FastjetJetProducer.cc:465
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
Gflash::Rmax
const double Rmax[kNumberCalorimeter]
Definition: GflashNameSpace.h:31
FastjetJetProducer::nFilt_
int nFilt_
for dynamic filtering radius (as in arXiv:0802.2470)
Definition: FastjetJetProducer.h:93
FastjetJetProducer::dRMin_
double dRMin_
for CMSBoostedTauSeedingAlgorithm : max asymmetry
Definition: FastjetJetProducer.h:109
FastjetJetProducer::DynamicRfiltPtr
std::shared_ptr< DynamicRfilt > DynamicRfiltPtr
Definition: FastjetJetProducer.h:58
FastjetJetProducer::~FastjetJetProducer
~FastjetJetProducer() override
Definition: FastjetJetProducer.cc:169
FastjetJetProducer::rFilt_
double rFilt_
for mass-drop tagging, symmetry cut: min(pt1^2,pt2^2) * dR(1,2) / mjet > ycut
Definition: FastjetJetProducer.h:90
FastjetJetProducer::dzTrVtxMax_
float dzTrVtxMax_
Definition: FastjetJetProducer.h:72
FastjetJetProducer::useDynamicFiltering_
bool useDynamicFiltering_
Jet filtering technique.
Definition: FastjetJetProducer.h:80
FastjetJetProducer::yMin_
double yMin_
for CMSBoostedTauSeedingAlgorithm : max mass-drop
Definition: FastjetJetProducer.h:107
DynamicRfilt::DynamicRfilt
DynamicRfilt(double Rmax, double deltaR_factor)
Definition: FastjetJetProducer.h:22
DynamicRfilt::_deltaR_factor
double _deltaR_factor
Definition: FastjetJetProducer.h:38
FastjetJetProducer::dxyTrVtxMax_
float dxyTrVtxMax_
Definition: FastjetJetProducer.h:73
FastjetJetProducer::R0_
double R0_
for soft drop : beta (angular exponent)
Definition: FastjetJetProducer.h:100
FastjetJetProducer::rFiltFactor_
double rFiltFactor_
for dynamic filtering radius (as in arXiv:0802.2470)
Definition: FastjetJetProducer.h:92
FastjetJetProducer::trimPtFracMin_
double trimPtFracMin_
for filtering, pruning: number of subjets expected
Definition: FastjetJetProducer.h:94
VirtualJetProducer
Definition: VirtualJetProducer.h:35
VirtualJetProducer.h
ParameterSetDescription.h
csv2json.pieces
pieces
Definition: csv2json.py:32
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
FastjetJetProducer::fillDescriptionsFromFastJetProducer
static void fillDescriptionsFromFastJetProducer(edm::ParameterSetDescription &desc)
Definition: FastjetJetProducer.cc:479
FastjetJetProducer::useFiltering_
bool useFiltering_
Mass-drop tagging for boosted Higgs.
Definition: FastjetJetProducer.h:79
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
Vertex.h
FastjetJetProducer::useConstituentSubtraction_
bool useConstituentSubtraction_
Use Kt clustering algorithm for pruning (default is Cambridge/Aachen)
Definition: FastjetJetProducer.h:85
edm::ParameterSet
Definition: ParameterSet.h:47
FastjetJetProducer::yMax_
double yMax_
for CMSBoostedTauSeedingAlgorithm : min asymmetry
Definition: FastjetJetProducer.h:108
FastjetJetProducer::muMin_
double muMin_
for CMSBoostedTauSeedingAlgorithm : subjet pt min
Definition: FastjetJetProducer.h:105
FastjetJetProducer::useOnlyVertexTracks_
bool useOnlyVertexTracks_
Definition: FastjetJetProducer.h:70
FastjetJetProducer::zCut_
double zCut_
for trimming: constituent minimum pt fraction of full jet
Definition: FastjetJetProducer.h:95
FastjetJetProducer::subjetPtMin_
double subjetPtMin_
for shape subtraction, get the grid spacing
Definition: FastjetJetProducer.h:104
FastjetJetProducer::produce
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: FastjetJetProducer.cc:175
iEvent
int iEvent
Definition: GenABIO.cc:224
FastjetJetProducer::dRMax_
double dRMax_
for CMSBoostedTauSeedingAlgorithm : min dR
Definition: FastjetJetProducer.h:110
DynamicRfilt::_Rmax
double _Rmax
Definition: FastjetJetProducer.h:38
FastjetJetProducer::minVtxNdof_
int minVtxNdof_
Definition: FastjetJetProducer.h:74
FastjetJetProducer::FastjetJetProducer
FastjetJetProducer(const edm::ParameterSet &iConfig)
Definition: FastjetJetProducer.cc:60
edm::EventSetup
Definition: EventSetup.h:58
FastjetJetProducer::useTrimming_
bool useTrimming_
Use dynamic filtering radius (as in arXiv:0802.2470)
Definition: FastjetJetProducer.h:81
FastjetJetProducer::RcutFactor_
double RcutFactor_
for pruning OR soft drop: constituent minimum pt fraction of parent cluster
Definition: FastjetJetProducer.h:96
FastjetJetProducer::muCut_
double muCut_
Correct the shape of the jets.
Definition: FastjetJetProducer.h:88
FastjetJetProducer::csRParam_
double csRParam_
for constituent subtraction : maximum rapidity for ghosts
Definition: FastjetJetProducer.h:98
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
FastjetJetProducer::useCMSBoostedTauSeedingAlgorithm_
bool useCMSBoostedTauSeedingAlgorithm_
Jet pruning technique.
Definition: FastjetJetProducer.h:83
RecoChargedCandidate.h
FastjetJetProducer::runAlgorithm
void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: FastjetJetProducer.cc:335
FastjetJetProducer::useMassDropTagger_
bool useMassDropTagger_
Definition: FastjetJetProducer.h:78
FastjetJetProducer::rFiltDynamic_
DynamicRfiltPtr rFiltDynamic_
for filtering, trimming: dR scale of sub-clustering
Definition: FastjetJetProducer.h:91
FastjetJetProducer::useOnlyOnePV_
bool useOnlyOnePV_
Definition: FastjetJetProducer.h:71
JetSpecific.h
FastjetJetProducer::beta_
double beta_
for constituent subtraction : R parameter for KT alg in jet median background estimator
Definition: FastjetJetProducer.h:99
FastjetJetProducer::input_chrefcand_token_
edm::EDGetTokenT< edm::View< reco::RecoChargedRefCandidate > > input_chrefcand_token_
for CMSBoostedTauSeedingAlgorithm : max depth for descending into clustering sequence
Definition: FastjetJetProducer.h:114
FastjetJetProducer::yCut_
double yCut_
for mass-drop tagging, m0/mjet (m0 = mass of highest mass subjet)
Definition: FastjetJetProducer.h:89
FastjetJetProducer::maxVtxZ_
float maxVtxZ_
Definition: FastjetJetProducer.h:75
DynamicRfilt
Definition: FastjetJetProducer.h:19
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm::Event
Definition: Event.h:73
FastjetJetProducer
Definition: FastjetJetProducer.h:41
FastjetJetProducer::gridSpacing_
double gridSpacing_
for shape subtraction, get the fixed-grid rho
Definition: FastjetJetProducer.h:102
FastjetJetProducer::usePruning_
bool usePruning_
Jet trimming technique.
Definition: FastjetJetProducer.h:82
FastjetJetProducer::gridMaxRapidity_
double gridMaxRapidity_
for soft drop : R0 (angular distance normalization - should be set to jet radius in most cases)
Definition: FastjetJetProducer.h:101
FastjetJetProducer::transformer
fastjet::Transformer transformer
Definition: FastjetJetProducer.h:44
DynamicRfilt::result
double result(const fastjet::PseudoJet &j) const override
Definition: FastjetJetProducer.h:25