47 std::vector<edm::ParameterSet>
cuts = iConfig.
getParameter<std::vector<edm::ParameterSet> >(
"cuts");
48 for (
const auto&
cut : cuts) {
50 info.
depth =
cut.getParameter<
double>(
"depth");
51 info.
minE =
cut.getParameter<
double>(
"minEnergy");
52 info.
maxE =
cut.getParameter<
double>(
"maxEnergy");
53 info.
minTime =
cut.getParameter<
double>(
"minTime");
54 info.
maxTime =
cut.getParameter<
double>(
"maxTime");
55 info.
endcap =
cut.getParameter<
bool>(
"endcap");
59 produces<reco::PFClusterCollection>();
60 produces<reco::PFClusterCollection>(
"OOT");
66 auto out = std::make_unique<reco::PFClusterCollection>();
67 auto outOOT = std::make_unique<reco::PFClusterCollection>();
69 for (
const auto& cluster : *clusters) {
70 const double energy = cluster.energy();
71 const double time = cluster.time();
72 const double depth = cluster.depth();
75 if (energy < info.minE || energy >
info.maxE)
77 if (depth < 0.9 * info.depth || depth > 1.1 *
info.depth)
84 if (time >
info.minTime && time <
info.maxTime)
85 out->push_back(cluster);
87 outOOT->push_back(cluster);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
std::vector< CutInfo > cutInfo_
PFClusterTimeSelector(const edm::ParameterSet &)
~PFClusterTimeSelector() override
constexpr std::array< uint8_t, layerIndexSize > layer
void beginRun(const edm::Run &run, const edm::EventSetup &es) override
TkSoA const *__restrict__ CAHitNtupletGeneratorKernelsGPU::QualityCuts cuts
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::vector< l1t::PFCluster > PFClusterCollection
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::PFClusterCollection > clusters_