File indexing completed on 2024-04-06 12:11:50
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include <cmath>
0015
0016
0017 #include "TEveCaloData.h"
0018 #include "TEveCalo.h"
0019 #include "TH2F.h"
0020
0021 #include "Fireworks/Core/interface/Context.h"
0022 #include "Fireworks/Core/interface/FWEventItem.h"
0023 #include "Fireworks/Core/interface/FWModelChangeManager.h"
0024
0025 #include "Fireworks/Core/interface/fw3dlego_xbins.h"
0026 #include "Fireworks/ParticleFlow/plugins/FWPFCandidateTowerProxyBuilder.h"
0027 #include "Fireworks/ParticleFlow/plugins/FWPFCandidateTowerSliceSelector.h"
0028
0029 #include "DataFormats/CaloTowers/interface/CaloTower.h"
0030
0031
0032
0033
0034 FWPFCandidateTowerProxyBuilder::FWPFCandidateTowerProxyBuilder() : m_towers(nullptr) {}
0035
0036 FWPFCandidateTowerProxyBuilder::~FWPFCandidateTowerProxyBuilder() {}
0037
0038
0039
0040
0041
0042 void FWPFCandidateTowerProxyBuilder::build(const FWEventItem* iItem, TEveElementList* el, const FWViewContext* ctx) {
0043 m_towers = nullptr;
0044 if (iItem) {
0045 iItem->get(m_towers);
0046 FWCaloDataProxyBuilderBase::build(iItem, el, ctx);
0047 }
0048 }
0049
0050 FWHistSliceSelector* FWPFCandidateTowerProxyBuilder::instantiateSliceSelector() {
0051 return new FWPFCandidateTowerSliceSelector(m_hist, item());
0052 }
0053
0054 void FWPFCandidateTowerProxyBuilder::fillCaloData() {
0055 m_hist->Reset();
0056
0057 if (m_towers) {
0058 if (item()->defaultDisplayProperties().isVisible()) {
0059
0060 unsigned int index = 0;
0061 for (reco::PFCandidateConstIterator tower = m_towers->begin(); tower != m_towers->end(); ++tower, ++index) {
0062 const FWEventItem::ModelInfo& info = item()->modelInfo(index);
0063 if (info.displayProperties().isVisible()) {
0064 addEntryToTEveCaloData(tower->eta(), tower->phi(), getEt(*tower), info.isSelected());
0065 }
0066 }
0067 }
0068 }
0069 }
0070
0071 REGISTER_FWPROXYBUILDER(FWECalPFCandidateProxyBuilder,
0072 reco::PFCandidateCollection,
0073 "CaloTowerPfCandEcal",
0074 FWViewType::k3DBit | FWViewType::kAllRPZBits | FWViewType::kAllLegoBits);
0075 REGISTER_FWPROXYBUILDER(FWHCalPFCandidateProxyBuilder,
0076 reco::PFCandidateCollection,
0077 "CaloTowerPfCandHcal",
0078 FWViewType::k3DBit | FWViewType::kAllRPZBits | FWViewType::kAllLegoBits);