diff --git a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py index cfd6c62e29d68cabdb9eb1819a5c1be7f120ee01..f840d8008163ed6db3246c9e797de62956b8fc8f 100644 --- a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py +++ b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py @@ -17,6 +17,7 @@ egammaOQFlagsBuilder = ToolFactory( egammaToolsConf.egammaOQFlagsBuilder, LArQCut = 0.8, TCut = 10., TCutVsE = 2., + RcellCut = 0.8, CellsName = egammaKeys.caloCellKey(), LArBadChannelTool = LArBadChanTool, affectedTool = CaloAffectedToolDefault) diff --git a/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py b/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py index 2aedc3c863fadcc73c8d6c90a0858eff31254233..f386e1c9f22253f741d75b5ea5e9b6bca65a6fcf 100644 --- a/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py +++ b/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py @@ -31,9 +31,9 @@ def configureClusterCorrections(swTool): #Super cluster position only corrections if jobproperties.egammaRecFlags.doSuperclusters(): - clusterTypesSuper = dict(Ele55='ele55', Ele37='ele37', - Gam55='gam55_unconv',Gam37='gam37_unconv', - Econv55='gam55_conv', Econv37='gam37_conv' + clusterTypesSuper = dict(Ele35='ele35',Ele55='ele55', Ele37='ele37', + Gam35='gam35_unconv',Gam55='gam55_unconv',Gam37='gam37_unconv', + Econv35='gam35_conv', Econv55='gam55_conv', Econv37='gam37_conv' ) for attrName, clName in clusterTypes.iteritems(): @@ -42,8 +42,8 @@ def configureClusterCorrections(swTool): continue superclusterCorr= make_CaloSwCorrections(clName, suffix ='EGSuperCluster', - corrlist=[ [rfac,'v5'],[etaoff_b1,'v5'],[etaoff_e1, 'v5'], - [etaoff_b2,'v5'],[etaoff_e2,'v5'], [phioff_b2, 'v5data'], + corrlist=[ [rfac,'v5'],[etaoff_b1,'v5'],[etaoff_e1,'v5'], + [etaoff_b2,'v5'],[etaoff_e2,'v5'], [phioff_b2, 'v5data'], [phioff_e2, 'v5data'], [update], [time], [listBadChannel]], cells_name=egammaKeys.caloCellKey()) setattr(swTool, x ,_process_tools (swTool, superclusterCorr) ) @@ -65,9 +65,8 @@ EMClusterTool = ToolFactory(egammaToolsConf.EMClusterTool, PhotonContainerName = egammaKeys.outputPhotonKey(), ClusterCorrectionToolName = FullNameWrapper(egammaSwTool), doSuperCluster = jobproperties.egammaRecFlags.doSuperclusters(), - applyMVAToSuperCluster=False, MVACalibTool= egammaMVATool -) + ) egammaCheckEnergyDepositTool = ToolFactory(egammaToolsConf.egammaCheckEnergyDepositTool, @@ -86,7 +85,7 @@ EMBremCollectionBuilder = ToolFactory( egammaBremCollectionBuilder, OutputTrackContainerName=egammaKeys.outputTrackKey(), ClusterContainerName=egammaKeys.inputClusterKey(), DoTruth=rec.doTruth() -) + ) EMConversionBuilder = ToolFactory( egammaToolsConf.EMConversionBuilder, @@ -111,9 +110,7 @@ egammaTopoClusterCopier = ToolFactory( egammaToolsConf.egammaTopoClusterCopier, electronSuperClusterBuilder = ToolFactory( egammaToolsConf.electronSuperClusterBuilder, name = 'electronSuperClusterBuilder', ClusterCorrectionTool=egammaSwTool, - CorrectClusters=True, MVACalibTool=egammaMVATool, - CalibrateClusters=False, EtThresholdCut=1000, AddCellsWindowEtaCellsBarrel=3, AddCellsWindowPhiCellsBarrel=999, @@ -125,9 +122,7 @@ electronSuperClusterBuilder = ToolFactory( egammaToolsConf.electronSuperClusterB photonSuperClusterBuilder = ToolFactory( egammaToolsConf.photonSuperClusterBuilder, name = 'photonSuperClusterBuilder', ClusterCorrectionTool=egammaSwTool, - CorrectClusters=True, MVACalibTool= egammaMVATool, - CalibrateClusters=False, AddCellsWindowEtaCellsBarrel=3, AddCellsWindowPhiCellsBarrel=999, AddCellsWindowEtaCellsEndcap=5, diff --git a/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx b/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx index 2e3a2ad1c756c49f497f7d4e270c7cede851f550..dcaf7e0b06ffb498b932fec2e20af002d9c46b32 100644 --- a/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx +++ b/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx @@ -34,7 +34,7 @@ EMClusterTool::EMClusterTool(const std::string& type, const std::string& name, c "Name of the input electron container"); declareProperty("PhotonContainerName", m_photonContainerName, "Name of the input photon container"); - declareProperty("doSuperCluster", m_doSuperClusters = false, + declareProperty("doSuperCluster", m_doSuperClusters = true, "Do Super Cluster Reco"); declareProperty("applyMVAToSuperCluster", m_applySuperClusters = true, "Protection to not do anything for superClusters"); @@ -103,8 +103,9 @@ StatusCode EMClusterTool::contExecute() // Create output cluster container for topo-seeded clusters and register in StoreGate // Only if they differ from the main output cluster container + // and if we do not do supercluster xAOD::CaloClusterContainer* outputTopoSeededClusterContainer = outputClusterContainer; - bool doTopoSeededContainer= (m_outputTopoSeededClusterContainerName != m_outputClusterContainerName); + bool doTopoSeededContainer= (m_outputTopoSeededClusterContainerName != m_outputClusterContainerName && !m_doSuperClusters); if(doTopoSeededContainer){ outputTopoSeededClusterContainer = CaloClusterStoreHelper::makeContainer(&*evtStore(), m_outputTopoSeededClusterContainerName, diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx index 1a59391f1684b28e0202f313cd36d736dd5bdeef..eadc18640d357d56db84363535cf03a07083d55d 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx +++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx @@ -56,6 +56,7 @@ egammaOQFlagsBuilder::egammaOQFlagsBuilder(const std::string& type, declareProperty("LArQCut", m_LArQCut = 0.8); declareProperty("TCut", m_TCut = 10.0); declareProperty("TCutVsE", m_TCutVsE = 2.0); + declareProperty("RcellCut", m_RcellCut = 0.8); m_affRegVec = 0; m_calocellId = 0; } @@ -246,6 +247,7 @@ StatusCode egammaOQFlagsBuilder::execute(xAOD::Egamma* eg) //Declare totE and badE for LarQ cleaning double totE=0; double badE=0; + double energyCellMax=0; if (foundCentralCell) { //Find the list of neighbours cells, to define the 3x3 cluster core @@ -266,6 +268,7 @@ StatusCode egammaOQFlagsBuilder::execute(xAOD::Egamma* eg) //Calculate badE et totE if( (cell->provenance() & 0x2000) &&!(cell->provenance() & 0x0800 )) { totE += cell->e(); + if(cell->e() > energyCellMax ) energyCellMax = cell->e(); if(cell->quality() > m_QCellCut ) badE += cell->e(); } @@ -359,8 +362,16 @@ StatusCode egammaOQFlagsBuilder::execute(xAOD::Egamma* eg) iflag |= (0x1 << xAOD::EgammaParameters::LArQCleaning); } //=========================================// + //==== Set HighRcell bit ===============// + double ratioCell=0; + if(totE !=0) ratioCell=energyCellMax/totE; + if(ratioCell>m_RcellCut){ + iflag |= (0x1 << xAOD::EgammaParameters::HighRcell); + } + //=========================================// + } //close if found central cell - + //========================= Check the HV components ===================================================// float deta=0; float dphi=0; diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h index 8f29a3d8eb34008376b56f82bad003a7f583cdeb..b37f4de6f2856f64ffc86c5614c58cdf63035005 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h +++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h @@ -79,7 +79,7 @@ class egammaOQFlagsBuilder : public egammaBaseTool double m_LArQCut; double m_TCut; double m_TCutVsE; - + double m_RcellCut; }; #endif diff --git a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx index 83fe38b921a0d2fee5edd46983cb982f3b3e4ba9..c0f3c7327b3acc5edf9456742b3d394ffde183d2 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx +++ b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx @@ -6,6 +6,7 @@ // #include "CaloUtils/CaloClusterStoreHelper.h" #include "CaloUtils/CaloCellList.h" +#include "CaloUtils/CaloLayerCalculator.h" // #include "xAODCaloEvent/CaloClusterAuxContainer.h" #include "xAODCaloEvent/CaloCluster.h" @@ -24,6 +25,89 @@ using CLHEP::GeV; +namespace { + /** + * Duplicate code + * @brief Return eta/phi ranges encompassing +- 1 cell. + * @param eta Central eta value. + * @param phi Central phi value. + * @param sampling The sampling to use. + * @param[out] deta Range in eta. + * @param[out] dphi Range in phi. + * + * This can be a little tricky due to misalignments and the fact + * that cells have different sizes in different regions. Also, + * CaloLayerCalculator takes only a symmetric eta range. + * We try to find the neighboring cells by starting from the center + * cell and looking a little bit more than half its width in either + * direction, and finding the centers of those cells. Then we use + * the larger of these for the symmetric range. + */ + void etaphi_range (double eta, + double phi, + CaloCell_ID::CaloSample sampling, + double& deta, + double& dphi) + { + deta = 0; + dphi = 0; + + // Get the DD element for the central cell. + const CaloDetDescrManager* dd_man = CaloDetDescrManager::instance(); + const CaloDetDescrElement* elt = dd_man->get_element_raw (sampling, eta, phi); + if (!elt) return; + + // Should be smaller than the eta half-width of any cell. + const double eps = 0.001; + + // Now look in the negative eta direction. + const CaloDetDescrElement* elt_l = dd_man->get_element_raw(sampling, + eta - elt->deta() - eps, + phi); + double deta_l = 0; // Eta difference on the low (left) side. + if (elt_l){ + deta_l = std::abs (eta - elt_l->eta_raw()) + eps; + } + // Now look in the positive eta direction. + const CaloDetDescrElement* elt_r = dd_man->get_element_raw(sampling, + eta + elt->deta() + eps, + phi); + double deta_r = 0; // Eta difference on the high (right) side. + if (elt_r){ + deta_r = std::abs (eta - elt_r->eta_raw()) + eps; + } + + // Total deta is twice the maximum. + deta = 2 * std::max (deta_r, deta_l); + + // Now for the phi variation. + // The phi size can change as a function of eta, but not of phi. + // Thus we have to look again at the adjacent eta cells, and + // take the largest variation. + + // Now look in the negative eta direction. + elt_l = dd_man->get_element_raw(sampling, + eta - elt->deta() - eps, + CaloPhiRange::fix (phi - elt->dphi() - eps)); + + double dphi_l = 0; // Phi difference on the low-eta () side. + if (elt_l){ + dphi_l = std::abs (CaloPhiRange::fix (phi - elt_l->phi_raw())) + eps; + } + // Now look in the positive eta direction. + elt_r = dd_man->get_element_raw(sampling, + eta + elt->deta() + eps, + CaloPhiRange::fix (phi - elt->dphi() - eps)); + double dphi_r = 0; // Phi difference on the positive (down) side. + if (elt_r){ + dphi_r = std::abs (CaloPhiRange::fix (phi - elt_r->phi_raw())) + eps; + } + // Total dphi is twice the maximum. + dphi = 2 * std::max (dphi_l, dphi_r); + } +} + + ////////////////////////////////////////////////////////////////////////////// //Athena interfaces. ////////////////////////////////////////////////////////////////////////////// @@ -338,6 +422,17 @@ StatusCode egammaSuperClusterBuilder::AddRemainingCellsToCluster(xAOD::CaloClust StatusCode egammaSuperClusterBuilder::CalibrateCluster(xAOD::CaloCluster* newCluster, const xAOD::EgammaParameters::EgammaType egType) { + + ATH_MSG_DEBUG("========== Initial ==== "); + ATH_MSG_DEBUG("Cluster Energy Initial: "<<newCluster->e()); + ATH_MSG_DEBUG("Cluster eta Initial: "<<newCluster->eta()); + ATH_MSG_DEBUG("Cluster phi Initial: "<<newCluster->phi()); + ATH_MSG_DEBUG("Cluster etaBE(1) Initial: "<<newCluster->etaBE(1)); + ATH_MSG_DEBUG("Cluster phiBE(1) Initial: "<<newCluster->phiBE(1)); + ATH_MSG_DEBUG("Cluster etaBE(2) Initial: "<<newCluster->etaBE(2)); + ATH_MSG_DEBUG("Cluster phiBE(2) Initial: "<<newCluster->phiBE(2)); + //Refine Eta1 + ATH_CHECK(refineEta1Position(newCluster)); //Save the state before the corrections newCluster->setAltE(newCluster->e()); newCluster->setAltEta(newCluster->eta()); @@ -346,6 +441,8 @@ StatusCode egammaSuperClusterBuilder::CalibrateCluster(xAOD::CaloCluster* newClu ATH_MSG_DEBUG("Cluster Energy no correction/calibration: "<<newCluster->e()); ATH_MSG_DEBUG("Cluster eta no correction/calibration: "<<newCluster->eta()); ATH_MSG_DEBUG("Cluster phi no correction/calibration: "<<newCluster->phi()); + ATH_MSG_DEBUG("Cluster etaBE(1) no correction/calibration: "<<newCluster->etaBE(1)); + ATH_MSG_DEBUG("Cluster phiBE(1) no correction/calibration: "<<newCluster->phiBE(1)); ATH_MSG_DEBUG("Cluster etaBE(2) no correction/calibration: "<<newCluster->etaBE(2)); ATH_MSG_DEBUG("Cluster phiBE(2) no correction/calibration: "<<newCluster->phiBE(2)); @@ -360,6 +457,8 @@ StatusCode egammaSuperClusterBuilder::CalibrateCluster(xAOD::CaloCluster* newClu ATH_MSG_DEBUG("Cluster Energy after position corrections: "<<newCluster->e()); ATH_MSG_DEBUG("Cluster eta after position corrections: "<<newCluster->eta()); ATH_MSG_DEBUG("Cluster phi after position corrections: "<<newCluster->phi()); + ATH_MSG_DEBUG("Cluster etaBE(1) no correction/calibration: "<<newCluster->etaBE(1)); + ATH_MSG_DEBUG("Cluster phiBE(1) no correction/calibration: "<<newCluster->phiBE(1)); ATH_MSG_DEBUG("Cluster etaBE(2) after position corrections: "<<newCluster->etaBE(2)); ATH_MSG_DEBUG("Cluster phiBE(2) after position corrections: "<<newCluster->phiBE(2)); @@ -400,3 +499,46 @@ StatusCode egammaSuperClusterBuilder::fillPositionsInCalo(xAOD::CaloCluster* clu return StatusCode::SUCCESS; } + +StatusCode egammaSuperClusterBuilder::refineEta1Position(xAOD::CaloCluster* cluster) const { + + // Now refine the eta position using +-1 strip around hot cell + // This only makes sense if eta1 is good + if (!cluster->hasSampling(CaloSampling::EMB1) && !cluster->hasSampling(CaloSampling::EME1)) { + return StatusCode::SUCCESS; + } + + // For some silly reason, we have TWO different sampling enums. + // The clusters use one, the detector description uses the other. + CaloSampling::CaloSample sample; + CaloCell_ID::CaloSample xsample; + + if (cluster->hasSampling(CaloSampling::EMB1)) { + sample = CaloSampling::EMB1; + xsample = CaloCell_ID::EMB1; + } else { + sample = CaloSampling::EME1; + xsample = CaloCell_ID::EME1; + } + + double detastr, dphistr; + const auto etamax = cluster->etamax(sample); + const auto phimax = cluster->phimax(sample); + etaphi_range(etamax, phimax, + xsample, + detastr, dphistr); + + if (detastr > 0 && dphistr > 0) { + const auto cellLink = cluster->getCellLinks(); + if (cellLink) { + CaloLayerCalculator calc; + calc.fill(cellLink->begin(), cellLink->end(), etamax, phimax, detastr, dphistr, sample); + + const auto eta = calc.etam(); + if (eta != -999.) { + cluster->setEta(sample, eta); + } + } + } + return StatusCode::SUCCESS; +} diff --git a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h index 0ce6fa1da984207c721baf90166c0af7474f4d87..715e7d362f14c83f7f420c857a6998b5fba08482 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h +++ b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h @@ -79,6 +79,9 @@ private: StatusCode fillPositionsInCalo(xAOD::CaloCluster* cluster); // above can't be const because m_caloCellDetPos acceses are not const + //refine + StatusCode refineEta1Position(xAOD::CaloCluster* cluster) const ; + // these are calculated window values for the windows in which cells of topoclusters are edded diff --git a/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx b/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx index b1d01fdb5a8f449c91cbecd4faf68d51cca1692a..b13ee8f46c98ef3e12f732ae72261c431112ce51 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx +++ b/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx @@ -48,10 +48,15 @@ egammaSwTool::egammaSwTool(const std::string& type, declareProperty("ClusterCorrectionToolsEconv37",m_clusterCorrectionNamesEconv37); // //SuperCluster + declareProperty("ClusterCorrectionToolsSuperClusterEle35",m_clusterCorrectionNamesSuperClusterEle35); declareProperty("ClusterCorrectionToolsSuperClusterEle55",m_clusterCorrectionNamesSuperClusterEle55); declareProperty("ClusterCorrectionToolsSuperClusterEle37",m_clusterCorrectionNamesSuperClusterEle37); + // + declareProperty("ClusterCorrectionToolsSuperClusterGam35",m_clusterCorrectionNamesSuperClusterGam35); declareProperty("ClusterCorrectionToolsSuperClusterGam55",m_clusterCorrectionNamesSuperClusterGam55); declareProperty("ClusterCorrectionToolsSuperClusterGam37",m_clusterCorrectionNamesSuperClusterGam37); + // + declareProperty("ClusterCorrectionToolsSuperClusterEconv35",m_clusterCorrectionNamesSuperClusterEconv35); declareProperty("ClusterCorrectionToolsSuperClusterEconv55",m_clusterCorrectionNamesSuperClusterEconv55); declareProperty("ClusterCorrectionToolsSuperClusterEconv37",m_clusterCorrectionNamesSuperClusterEconv37); @@ -82,12 +87,15 @@ StatusCode egammaSwTool::initialize() ATH_CHECK(populateTools(m_clusterCorrectionNamesEconv37,m_clusterCorrectionPointersEconv37)); ATH_CHECK(populateTools(m_clusterCorrectionNamesEconv55,m_clusterCorrectionPointersEconv55)); //SuperCluster + ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEle35,m_clusterCorrectionPointersSuperClusterEle35)); ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEle37,m_clusterCorrectionPointersSuperClusterEle37)); ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEle55,m_clusterCorrectionPointersSuperClusterEle55)); // + ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterGam35,m_clusterCorrectionPointersSuperClusterGam35)); ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterGam37,m_clusterCorrectionPointersSuperClusterGam37)); ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterGam55,m_clusterCorrectionPointersSuperClusterGam55)); // + ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEconv35,m_clusterCorrectionPointersSuperClusterEconv35)); ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEconv37,m_clusterCorrectionPointersSuperClusterEconv37)); ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEconv55,m_clusterCorrectionPointersSuperClusterEconv55)); return StatusCode::SUCCESS; diff --git a/Reconstruction/egamma/egammaTools/src/egammaSwTool.h b/Reconstruction/egamma/egammaTools/src/egammaSwTool.h index 560e61bc3dab810fa26a39ece67b3352db775b13..76abc2975f8e4919b939e7527c482ba65220e92a 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaSwTool.h +++ b/Reconstruction/egamma/egammaTools/src/egammaSwTool.h @@ -65,9 +65,14 @@ class egammaSwTool : public AthAlgTool, virtual public IegammaSwTool std::vector<std::string> m_clusterCorrectionNamesSuperClusterEle37; std::vector<std::string> m_clusterCorrectionNamesSuperClusterGam37; std::vector<std::string> m_clusterCorrectionNamesSuperClusterEconv37; + // std::vector<std::string> m_clusterCorrectionNamesSuperClusterEle55; std::vector<std::string> m_clusterCorrectionNamesSuperClusterGam55; std::vector<std::string> m_clusterCorrectionNamesSuperClusterEconv55; + // + std::vector<std::string> m_clusterCorrectionNamesSuperClusterEle35; + std::vector<std::string> m_clusterCorrectionNamesSuperClusterGam35; + std::vector<std::string> m_clusterCorrectionNamesSuperClusterEconv35; /** @brief the actual list of tools corresponding to above names */ std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersEle55; @@ -80,12 +85,18 @@ class egammaSwTool : public AthAlgTool, virtual public IegammaSwTool std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersEconv35; std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersEconv37; //SuperCluster - std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle37; - std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam37; - std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv37; + std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle35; + std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv35; + std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam35; + // std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle55; std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam55; std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv55; + // + std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle37; + std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam37; + std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv37; + }; #endif diff --git a/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx b/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx index e9511f707572d45a8b2dddfee47d8d06115737e0..9be9b5588754d2bb5acbf55f90daacf32fb9c43d 100644 --- a/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx +++ b/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx @@ -154,7 +154,6 @@ StatusCode photonSuperClusterBuilder::execute(){ const std::vector<std::size_t> secondaryClusters = SearchForSecondaryClusters(i, egammaRecs, isUsed, nWindowClusters, nExtraClusters); - for (auto secClus : secondaryClusters) { const auto secRec = egammaRecs->at(secClus); accumulatedClusters.push_back(secRec->caloCluster());