38 #include <Math/VectorUtil.h> 131 for (
auto& particle : genParticles) {
133 if (
abs(particle.pdgId()) != 22 || particle.status() != 1)
139 closestPhoton = &particle;
166 isMC_(iConfig.getParameter<
bool>(
"isMC")),
167 ptThreshold_(iConfig.getParameter<double>(
"ptThreshold")),
168 deltaR_(iConfig.getParameter<double>(
"deltaR")),
250 std::unique_ptr<noZS::EcalClusterLazyTools> lazyTools;
259 int bx =
pu.getBunchCrossing();
287 for (
auto const& pho :
src->ptrs()) {
296 const auto&
seed = *(pho->superCluster()->seed());
301 for (
int iVar = 0; iVar <
nVars_; ++iVar) {
315 for (
size_t k = 0; k <
nCats_; ++
k)
331 desc.
add<std::vector<std::string>>(
"phoMVAs", {});
332 desc.
add<std::vector<std::string>>(
"phoMVALabels", {});
333 desc.
add<std::vector<std::string>>(
"phoMVAValMaps", {});
334 desc.
add<std::vector<std::string>>(
"phoMVAValMapLabels", {});
335 desc.
add<std::vector<std::string>>(
"phoMVACats", {});
336 desc.
add<std::vector<std::string>>(
"phoMVACatLabels", {});
337 desc.
add<
bool>(
"doEnergyMatrix",
false);
338 desc.
add<
int>(
"energyMatrixSize", 2)->setComment(
"extension of crystals in each direction away from the seed");
339 desc.
add<
bool>(
"isMC",
true);
340 desc.
add<
double>(
"ptThreshold", 15.0);
341 desc.
add<
double>(
"deltaR", 0.1);
static const std::string kSharedResource
EventNumber_t event() const
const double ptThreshold_
bool isPromptFinalState() const
const std::string & getName(int index) const
const edm::EDGetTokenT< EcalRecHitCollection > eeRecHits_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MVAVariableManager< reco::Photon > mvaVarMngr_
edm::LuminosityBlockNumber_t luminosityBlock() const
const std::vector< std::string > mvaCatBranchNames_
const edm::EDGetTokenT< std::vector< PileupSummaryInfo > > pileup_
T * make(const Args &...args) const
make new ROOT object
float getValue(int index, const ParticleType &particle, const std::vector< float > &auxVariables) const
const bool doEnergyMatrix_
const std::vector< std::string > valMapTags_
std::vector< int > mvaCats_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::vector< edm::EDGetTokenT< edm::ValueMap< int > > > mvaCatTokens_
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
std::vector< int > mvaPasses_
#define DEFINE_FWK_MODULE(type)
void addDefault(ParameterSetDescription const &psetDescription)
std::vector< float > mvaValues_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
const std::vector< std::string > mvaCatTags_
Abs< T >::type abs(const T &t)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::vector< edm::EDGetTokenT< edm::ValueMap< bool > > > phoMapTokens_
const std::vector< std::string > valMapBranchNames_
const edm::EDGetTokenT< EcalRecHitCollection > ebRecHits_
const std::vector< std::string > phoMapBranchNames_
const edm::EDGetTokenT< edm::View< reco::Photon > > src_
const edm::EDGetTokenT< std::vector< reco::Vertex > > vertices_
const LorentzVector & p4(P4type type) const
const edm::EDGetTokenT< edm::View< reco::GenParticle > > genParticles_
const MVAVariableHelper variableHelper_
const int energyMatrixSize_
const std::vector< float > getAuxVariables(const edm::Event &iEvent) const
const std::vector< std::string > phoMapTags_
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< float > energyMatrix_
std::vector< float > vars_
PhotonMVANtuplizer(const edm::ParameterSet &)
std::vector< edm::EDGetTokenT< edm::ValueMap< float > > > valMapTokens_