51 produces<edm::ValueMap<float> >(
"dist");
52 produces<edm::ValueMap<float> >(
"dcot");
53 produces<edm::ValueMap<float> >(
"convradius");
54 produces<edm::ValueMap<float> >(
"passConvRej");
75 float evt_bField = 3.8;
80 std::vector<float> values2;
81 std::vector<float> values3;
82 std::vector<float> values4;
87 double convradius = 0.0;
88 double passConvRej = 0.0;
92 reco::GsfElectronCollection::const_iterator eleIt = electronCollection->begin();
94 for (probe = probes->begin(); probe != endprobes; ++probe) {
95 for (eleIt=electronCollection->begin(); eleIt!=electronCollection->end(); eleIt++) {
96 if( fabs(eleIt->et() - probe->et() ) < 0.05 && fabs(eleIt->eta() - probe->eta() ) < 0.01
97 && fabs(eleIt->phi() - probe->phi() ) < 0.01 ){
100 dist = convInfo.
dist;
101 dcot = convInfo.
dcot;
103 if( fabs(dist)>0.02 && fabs(dcot)>0.02) passConvRej = 1.0;
107 values.push_back(dist);
108 values2.push_back(dcot);
109 values3.push_back(convradius);
110 values4.push_back(passConvRej);
115 auto valMap = std::make_unique<ValueMap<float>>();
117 filler.insert(probes, values.begin(), values.end());
123 auto valMap2 = std::make_unique<ValueMap<float>>();
125 filler2.insert(probes, values2.begin(), values2.end());
130 auto valMap3 = std::make_unique<ValueMap<float>>();
132 filler3.insert(probes, values3.begin(), values3.end());
138 auto valMap4 = std::make_unique<ValueMap<float>>();
140 filler4.insert(probes, values4.begin(), values4.end());
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< edm::View< reco::Candidate > > probesToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< Track > TrackCollection
collection of Tracks
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
~ElectronConversionRejectionVars() override
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
#define DEFINE_FWK_MODULE(type)
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
edm::EDGetTokenT< reco::TrackCollection > tracksToken_
edm::EDGetTokenT< reco::GsfElectronCollection > gsfElecsToken_
const double radiusOfConversion
Store electron partner track conversion-rejection quantities ("dist" and "dcot") in the TP tree...
ElectronConversionRejectionVars(const edm::ParameterSet &iConfig)
T const * product() const
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator