97 _minJetEt(iConfig.getParameter<double>(
"minJetEt")),
98 _minMuonEt(iConfig.getParameter<double>(
"minMuonEt")),
99 _minElectronEt(iConfig.getParameter<double>(
"minElectronEt")),
100 _minTauEt(iConfig.getParameter<double>(
"minTauEt")),
101 _minPhotonEt(iConfig.getParameter<double>(
"minPhotonEt")),
103 _maxJetEta(iConfig.getParameter<double>(
"maxJetEta")),
104 _maxMuonEta(iConfig.getParameter<double>(
"maxMuonEta")),
105 _maxElectronEta(iConfig.getParameter<double>(
"maxElectronEta")),
106 _maxTauEta(iConfig.getParameter<double>(
"maxTauEta")),
107 _maxPhotonEta(iConfig.getParameter<double>(
"maxPhotonEta")),
109 _seedMethod(iConfig.getParameter<
int>(
"seedMethod")),
110 _combinationMethod(iConfig.getParameter<
int>(
"combinationMethod"))
113 produces<std::vector<pat::Hemisphere>>();
130 std::vector<float> vPx, vPy, vPz, vE;
131 std::vector<float> vA1, vA2;
132 std::vector<int> vgroups;
133 std::vector<reco::CandidatePtr> componentPtrs;
156 for (
int i = 0;
i < (
int)(*pJets).size();
i++) {
160 componentPtrs.push_back(pJets->
ptrAt(
i));
163 for (
int i = 0;
i < (
int)(*pMuons).size();
i++) {
167 componentPtrs.push_back(pMuons->
ptrAt(
i));
170 for (
int i = 0;
i < (
int)(*pElectrons).size();
i++) {
174 componentPtrs.push_back(pElectrons->
ptrAt(
i));
177 for (
int i = 0;
i < (
int)(*pPhotons).size();
i++) {
181 componentPtrs.push_back(pPhotons->
ptrAt(
i));
185 for (
int i = 0;
i < (
int)(*pTaus).size();
i++) {
189 componentPtrs.push_back(pTaus->
ptrAt(
i));
193 auto hemispheres = std::make_unique<std::vector<Hemisphere>>();
212 for (
unsigned int i = 0;
i < vgroups.size(); ++
i) {
213 if (vgroups[
i] == 1) {
214 (*hemispheres)[0].addDaughter(componentPtrs[
i]);
216 (*hemispheres)[1].addDaughter(componentPtrs[
i]);