15 produces<std::vector<PileupSummaryInfo>>();
27 auto output = std::make_unique<std::vector<PileupSummaryInfo>>();
31 for (
const auto& psu : *
input) {
32 const int bunchCrossing = psu.getBunchCrossing();
34 const int num_PU_vertices = psu.getPU_NumInteractions();
35 const float TrueNumInteractions = psu.getTrueNumInteractions();
37 std::vector<float> zpositions;
38 std::vector<float> times;
39 std::vector<float> sumpT_lowpT;
40 std::vector<float> sumpT_highpT;
41 std::vector<int> ntrks_lowpT;
42 std::vector<int> ntrks_highpT;
44 std::vector<float> pT_hats;
50 zpositions = psu.getPU_zpositions();
51 times = psu.getPU_times();
52 sumpT_lowpT = psu.getPU_sumpT_lowpT();
53 sumpT_highpT = psu.getPU_sumpT_highpT();
54 ntrks_lowpT = psu.getPU_ntrks_lowpT();
55 ntrks_highpT = psu.getPU_ntrks_highpT();
57 pT_hats = psu.getPU_pT_hats();
60 output->emplace_back(num_PU_vertices,
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void produce(edm::StreamID, edm::Event &, edm::EventSetup const &) const final
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
static std::string const input
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
PileupSummaryInfoSlimmer(const edm::ParameterSet &conf)
const std::vector< int > keepDetailedInfoFor_
#define DEFINE_FWK_MODULE(type)
const edm::EDGetTokenT< std::vector< PileupSummaryInfo > > src_
eventInfo
add run, event number and lumi section