67 deltaR_(iConfig.getParameter<double>(
"deltaR")),
68 ptCut_(iConfig.getParameter<double>(
"ptCut")),
69 makeNew_(iConfig.getUntrackedParameter<bool>(
"createNewCollection",
true)),
70 fillDummy_(iConfig.getUntrackedParameter<bool>(
"fillDummyEntries",
true))
73 produces<T2Collection>().setBranchAlias (alias);
96 auto jets = std::make_unique<T2Collection>();
101 int jetsize = genjets->size();
104 for(
int ijet = 0; ijet < jetsize; ++ijet){
105 selection.push_back(-1);
108 vector<int> selectedIndices;
109 vector<int> removedIndices;
111 for(
int ijet = 0; ijet < jetsize; ++ijet){
113 const T2* jet1 = &((*genjets)[ijet]);
115 if(selection[ijet] == -1){
117 for(
int ijet2 = 0; ijet2 < jetsize; ++ijet2){
119 if(ijet2 == ijet)
continue;
121 const T2* jet2 = &((*genjets)[ijet2]);
124 if(jet1->et() < jet2->et()){
126 removedIndices.push_back(ijet);
129 selection[ijet2] = 0;
130 removedIndices.push_back(ijet2);
136 double etjet = ((*genjets)[ijet]).
et();
138 if(selection[ijet] == 1 && etjet >
ptCut_){
139 selectedIndices.push_back(ijet);
140 jets->push_back(*jet1);
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< edm::View< T2 > > jetSrc_
virtual void produce(edm::Event &, const edm::EventSetup &) override
double deltaR(double eta1, double eta2, double phi1, double phi2)
et
define resolution functions of each parameter
HiGenCleaner(const edm::ParameterSet &)