59 _minJetEt(iConfig.getParameter<double>(
"minJetEt")),
60 _minMuonEt(iConfig.getParameter<double>(
"minMuonEt")),
61 _minElectronEt(iConfig.getParameter<double>(
"minElectronEt")),
62 _minTauEt(iConfig.getParameter<double>(
"minTauEt")),
63 _minPhotonEt(iConfig.getParameter<double>(
"minPhotonEt")),
65 _maxJetEta(iConfig.getParameter<double>(
"maxJetEta")),
66 _maxMuonEta(iConfig.getParameter<double>(
"maxMuonEta")),
67 _maxElectronEta(iConfig.getParameter<double>(
"maxElectronEta")),
68 _maxTauEta(iConfig.getParameter<double>(
"maxTauEta")),
69 _maxPhotonEta(iConfig.getParameter<double>(
"maxPhotonEta")),
71 _seedMethod(iConfig.getParameter<
int>(
"seedMethod")),
72 _combinationMethod(iConfig.getParameter<
int>(
"combinationMethod"))
75 produces<std::vector<pat::Hemisphere>>();
92 std::vector<float> vPx, vPy, vPz, vE;
93 std::vector<float> vA1, vA2;
94 std::vector<int> vgroups;
95 std::vector<reco::CandidatePtr> componentPtrs;
118 for (
int i = 0;
i < (
int)(*pJets).size();
i++) {
122 componentPtrs.push_back(pJets->
ptrAt(
i));
125 for (
int i = 0;
i < (
int)(*pMuons).size();
i++) {
129 componentPtrs.push_back(pMuons->
ptrAt(
i));
132 for (
int i = 0;
i < (
int)(*pElectrons).size();
i++) {
136 componentPtrs.push_back(pElectrons->
ptrAt(
i));
139 for (
int i = 0;
i < (
int)(*pPhotons).size();
i++) {
143 componentPtrs.push_back(pPhotons->
ptrAt(
i));
147 for (
int i = 0;
i < (
int)(*pTaus).size();
i++) {
151 componentPtrs.push_back(pTaus->
ptrAt(
i));
155 auto hemispheres = std::make_unique<std::vector<Hemisphere>>();
174 for (
unsigned int i = 0;
i < vgroups.size(); ++
i) {
175 if (vgroups[
i] == 1) {
176 (*hemispheres)[0].addDaughter(componentPtrs[
i]);
178 (*hemispheres)[1].addDaughter(componentPtrs[
i]);