134 constexpr char bitmap_label[] =
"Bitmap";
139 const Collection& physicsobjects = *physicsObjectsHandle;
141 for(
const auto&
id :
ids_ ) {
142 auto outPass = std::make_unique<edm::ValueMap<bool>>();
143 auto outPassf = std::make_unique<edm::ValueMap<float>>();
144 auto outHowFar = std::make_unique<edm::ValueMap<unsigned>>();
145 auto outBitmap = std::make_unique<edm::ValueMap<unsigned>>();
146 auto out_cfrs = std::make_unique<edm::ValueMap<vid::CutFlowResult>>();
147 auto out_usrd = std::make_unique<pat::UserDataCollection>();
149 std::vector<bool> passfail;
150 std::vector<float> passfailf;
151 std::vector<unsigned> howfar;
152 std::vector<unsigned> bitmap;
153 std::vector<vid::CutFlowResult> cfrs;
155 for(
size_t i = 0;
i < physicsobjects.size(); ++
i) {
156 auto po = physicsobjects.ptrAt(
i);
157 passfail.push_back((*
id)(po,iEvent));
158 passfailf.push_back(passfail.back());
159 howfar.push_back(
id->howFarInCutFlow());
160 bitmap.push_back(
id->bitMap());
161 cfrs.push_back(
id->cutFlowResult());
166 fillerpassfail.insert(physicsObjectsHandle, passfail.begin(), passfail.end());
167 fillerpassfail.fill();
170 fillerpassfailf.insert(physicsObjectsHandle, passfailf.begin(), passfailf.end());
171 fillerpassfailf.fill();
174 fillerhowfar.insert(physicsObjectsHandle, howfar.begin(), howfar.end() );
178 fillerbitmap.insert(physicsObjectsHandle, bitmap.begin(), bitmap.end() );
182 fillercfr.insert(physicsObjectsHandle, cfrs.begin(), cfrs.end() );
190 iEvent.
put(std::make_unique<std::string>(
id->md5String()),
194 auto out_usrdptrs = std::make_unique<edm::ValueMap<edm::Ptr<pat::UserData>>>();
195 std::vector<edm::Ptr<pat::UserData> > usrdptrs;
196 for(
unsigned i = 0;
i < usrd_handle->size(); ++
i ){
201 fillerusrdptrs.insert(physicsObjectsHandle, usrdptrs.begin(), usrdptrs.end());
202 fillerusrdptrs.fill();
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
std::vector< std::unique_ptr< SelectorType > > ids_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::View< PhysicsObjectType > Collection
static std::unique_ptr< UserData > make(const T &value, bool transientOnly=false)
TokenType physicsObjectSrc_