File indexing completed on 2024-04-06 12:25:32
0001 #ifndef RecoJets_JetProducers_CSJetProducer_h
0002 #define RecoJets_JetProducers_CSJetProducer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include <vector>
0021 #include "RecoJets/JetProducers/plugins/VirtualJetProducer.h"
0022
0023 namespace cms {
0024 class CSJetProducer : public VirtualJetProducer {
0025 public:
0026 CSJetProducer(const edm::ParameterSet& ps);
0027
0028 ~CSJetProducer() override {}
0029 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0030 static void fillDescriptionsFromCSJetProducer(edm::ParameterSetDescription& desc);
0031
0032 void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0033
0034 protected:
0035 void runAlgorithm(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0036
0037 double getModulatedRhoFactor(const double phi, const edm::Handle<std::vector<double>>& flowParameters);
0038
0039 double csRParam_;
0040 double csAlpha_;
0041
0042 bool useModulatedRho_;
0043 double minFlowChi2Prob_;
0044 double maxFlowChi2Prob_;
0045
0046 edm::EDGetTokenT<std::vector<double>> etaToken_;
0047 edm::EDGetTokenT<std::vector<double>> rhoToken_;
0048 edm::EDGetTokenT<std::vector<double>> rhomToken_;
0049 edm::EDGetTokenT<std::vector<double>> rhoFlowFitParamsToken_;
0050 };
0051 }
0052 #endif