CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
FWTracksterHitsProxyBuilder Class Reference
Inheritance diagram for FWTracksterHitsProxyBuilder:
FWHeatmapProxyBuilderTemplate< ticl::Trackster > FWSimpleProxyBuilder FWProxyBuilderBase

Public Member Functions

 FWTracksterHitsProxyBuilder (void)
 
 FWTracksterHitsProxyBuilder (const FWTracksterHitsProxyBuilder &)=delete
 
const FWTracksterHitsProxyBuilderoperator= (const FWTracksterHitsProxyBuilder &)=delete
 
const std::string & purpose () const
 
const std::string & typeName () const
 
const std::string & view () const
 
 ~FWTracksterHitsProxyBuilder (void) override
 
- Public Member Functions inherited from FWHeatmapProxyBuilderTemplate< ticl::Trackster >
 FWHeatmapProxyBuilderTemplate ()
 
 FWHeatmapProxyBuilderTemplate (const FWHeatmapProxyBuilderTemplate &)=delete
 
const FWHeatmapProxyBuilderTemplateoperator= (const FWHeatmapProxyBuilderTemplate &)=delete
 
- Public Member Functions inherited from FWSimpleProxyBuilder
 FWSimpleProxyBuilder (const std::type_info &iType)
 
 FWSimpleProxyBuilder (const FWSimpleProxyBuilder &)=delete
 
const FWSimpleProxyBuilderoperator= (const FWSimpleProxyBuilder &)=delete
 
 ~FWSimpleProxyBuilder () override
 
- Public Member Functions inherited from FWProxyBuilderBase
void build ()
 
virtual bool canHandle (const FWEventItem &)
 
const fireworks::Contextcontext () const
 
TEveElementList * createProduct (FWViewType::EType, const FWViewContext *)
 
 FWProxyBuilderBase ()
 
bool getHaveWindow () const
 
virtual bool havePerViewProduct (FWViewType::EType) const
 
virtual bool haveSingleProduct () const
 
const FWEventItemitem () const
 
virtual void itemBeingDestroyed (const FWEventItem *)
 
void itemChanged (const FWEventItem *)
 
int layer () const
 
void modelChanges (const FWModelIds &)
 
void removePerViewProduct (FWViewType::EType, const FWViewContext *vc)
 
void scaleChanged (const FWViewContext *)
 
void setHaveWindow (bool iFlag)
 
virtual void setInteractionList (FWInteractionList *, const std::string &)
 
void setupAddElement (TEveElement *el, TEveElement *parent, bool set_color=true) const
 
void setupElement (TEveElement *el, bool color=true) const
 
virtual bool willHandleInteraction () const
 
virtual ~FWProxyBuilderBase ()
 

Static Public Member Functions

static const std::string & classPurpose ()
 
static const std::string & classRegisterTypeName ()
 
static const std::string & classTypeName ()
 
static const std::string & classView ()
 
- Static Public Member Functions inherited from FWSimpleProxyBuilder
static std::string typeOfBuilder ()
 Used by the plugin system to determine how the proxy uses the data from FWEventItem. More...
 
- Static Public Member Functions inherited from FWProxyBuilderBase
static bool representsSubPart ()
 
static std::string typeOfBuilder ()
 Used by the plugin system to determine how the proxy uses the data from FWEventItem. More...
 

Private Member Functions

void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *vc) override
 
void build (const ticl::Trackster &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *) override
 
void setItem (const FWEventItem *iItem) override
 

Private Attributes

bool enableEdges_
 
bool enablePositionLines_
 
bool enableSeedLines_
 
bool enableTimeFilter_
 
bool heatmap_
 
long layer_
 
edm::Handle< std::vector< reco::CaloCluster > > layerClustersHandle_
 
double saturation_energy_
 
double timeLowerBound_
 
double timeUpperBound_
 
edm::Handle< edm::ValueMap< std::pair< float, float > > > TimeValueMapHandle_
 
bool z_minus_
 
bool z_plus_
 

Additional Inherited Members

- Protected Types inherited from FWProxyBuilderBase
typedef std::vector< Product * >::iterator Product_it
 
- Protected Member Functions inherited from FWHeatmapProxyBuilderTemplate< ticl::Trackster >
void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *vc) override
 
void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *) override
 
virtual void build (const void *, unsigned int iIndex, TEveElement &iItemHolder, const FWViewContext *)=0
 
void build (const void *iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *context) override
 
virtual void buildViewType (const void *, unsigned int iIndex, TEveElement &iItemHolder, FWViewType::EType, const FWViewContext *)=0
 
void buildViewType (const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
 
void buildViewType (const void *iData, unsigned int iIndex, TEveElement &oItemHolder, FWViewType::EType viewType, const FWViewContext *context) override
 
virtual void buildViewType (const ticl::Trackster &iData, unsigned int iIndex, TEveElement &oItemHolder, FWViewType::EType viewType, const FWViewContext *)
 
const ticl::TrackstermodelData (int index)
 
void setItem (const FWEventItem *iItem) override
 
- Protected Member Functions inherited from FWSimpleProxyBuilder
void build ()
 
virtual void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *)
 
virtual void buildViewType (const FWEventItem *iItem, TEveElementList *, FWViewType::EType, const FWViewContext *)
 
void buildViewType (const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) override
 
void clean () override
 
- Protected Member Functions inherited from FWProxyBuilderBase
virtual void cleanLocal ()
 
TEveCompound * createCompound (bool set_color=true, bool propagate_color_to_all_children=false) const
 
 FWProxyBuilderBase (const FWProxyBuilderBase &)
 
void increaseComponentTransparency (unsigned int index, TEveElement *holder, const std::string &name, Char_t transpOffset)
 
virtual void localModelChanges (const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc)
 
virtual void modelChanges (const FWModelIds &, Product *)
 
const FWProxyBuilderBaseoperator= (const FWProxyBuilderBase &)
 
virtual void scaleProduct (TEveElementList *parent, FWViewType::EType, const FWViewContext *vc)
 
- Protected Attributes inherited from FWHeatmapProxyBuilderTemplate< ticl::Trackster >
std::unordered_map< DetId, const HGCRecHit *> * hitmap
 
- Protected Attributes inherited from FWSimpleProxyBuilder
FWSimpleProxyHelper m_helper
 
- Protected Attributes inherited from FWProxyBuilderBase
std::vector< Product * > m_products
 
- Static Protected Attributes inherited from FWHeatmapProxyBuilderTemplate< ticl::Trackster >
static constexpr uint8_t gradient [3][gradient_steps]
 
static constexpr uint8_t gradient_steps
 

Detailed Description

Definition at line 16 of file FWTracksterHitsProxyBuilder.cc.

Constructor & Destructor Documentation

◆ FWTracksterHitsProxyBuilder() [1/2]

FWTracksterHitsProxyBuilder::FWTracksterHitsProxyBuilder ( void  )
inline

Definition at line 18 of file FWTracksterHitsProxyBuilder.cc.

18 {}

◆ ~FWTracksterHitsProxyBuilder()

FWTracksterHitsProxyBuilder::~FWTracksterHitsProxyBuilder ( void  )
inlineoverride

Definition at line 19 of file FWTracksterHitsProxyBuilder.cc.

19 {}

◆ FWTracksterHitsProxyBuilder() [2/2]

FWTracksterHitsProxyBuilder::FWTracksterHitsProxyBuilder ( const FWTracksterHitsProxyBuilder )
delete

Member Function Documentation

◆ build() [1/2]

void FWTracksterHitsProxyBuilder::build ( const FWEventItem iItem,
TEveElementList *  product,
const FWViewContext vc 
)
overrideprivatevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 62 of file FWTracksterHitsProxyBuilder.cc.

References FWProxyBuilderBase::build(), enableEdges_, enablePositionLines_, enableSeedLines_, enableTimeFilter_, edm::EventBase::getByLabel(), FWEventItem::getConfig(), FWEventItem::getEvent(), heatmap_, edm::HandleBase::isValid(), FWProxyBuilderBase::item(), layer_, layerClustersHandle_, saturation_energy_, timeLowerBound_, timeUpperBound_, TimeValueMapHandle_, FWProxyBuilderConfiguration::value(), z_minus_, and z_plus_.

62  {
63  iItem->getEvent()->getByLabel(edm::InputTag("hgcalLayerClusters", "timeLayerCluster"), TimeValueMapHandle_);
64  iItem->getEvent()->getByLabel(edm::InputTag("hgcalLayerClusters"), layerClustersHandle_);
66  timeLowerBound_ = item()->getConfig()->value<double>("TimeLowerBound(ns)");
67  timeUpperBound_ = item()->getConfig()->value<double>("TimeUpperBound(ns)");
69  edm::LogWarning("InvalidParameters")
70  << "lower time bound is larger than upper time bound. Maybe opposite is desired?";
71  }
72  } else {
73  iItem->getEvent()->getByLabel(edm::InputTag("hgcalMergeLayerClusters", "timeLayerCluster"), TimeValueMapHandle_);
74  edm::LogWarning("DataNotFound|InvalidData")
75  << __FILE__ << ":" << __LINE__
76  << " couldn't locate 'hgcalLayerClusters:timeLayerCluster' ValueMap in input file. Trying to access "
77  "'hgcalMergeLayerClusters:timeLayerClusters' ValueMap";
79  edm::LogWarning("DataNotFound|InvalidData")
80  << __FILE__ << ":" << __LINE__
81  << " couldn't locate 'hgcalMergeLayerClusters:timeLayerCluster' ValueMap in input file.";
82  }
83  }
84 
86  iItem->getEvent()->getByLabel(edm::InputTag("hgcalMergeLayerClusters"), layerClustersHandle_);
87  edm::LogWarning("DataNotFound|InvalidData")
88  << __FILE__ << ":" << __LINE__
89  << " couldn't locate 'hgcalLayerClusters' collection "
90  "in input file. Trying to access 'hgcalMergeLayerClusters' collection.";
92  edm::LogWarning("DataNotFound|InvalidData")
93  << __FILE__ << ":" << __LINE__ << " couldn't locate 'hgcalMergeLayerClusters' collection in input file.";
94  }
95  }
96 
97  layer_ = item()->getConfig()->value<long>("Layer");
98  saturation_energy_ = item()->getConfig()->value<double>("EnergyCutOff");
99  heatmap_ = item()->getConfig()->value<bool>("Heatmap");
100  z_plus_ = item()->getConfig()->value<bool>("Z+");
101  z_minus_ = item()->getConfig()->value<bool>("Z-");
102  enableTimeFilter_ = item()->getConfig()->value<bool>("EnableTimeFilter");
103  enableSeedLines_ = item()->getConfig()->value<bool>("EnableSeedLines");
104  enablePositionLines_ = item()->getConfig()->value<bool>("EnablePositionLines");
105  enableEdges_ = item()->getConfig()->value<bool>("EnableEdges");
106 
107  FWHeatmapProxyBuilderTemplate::build(iItem, product, vc);
108 }
FWProxyBuilderConfiguration * getConfig() const
Definition: FWEventItem.h:150
edm::Handle< edm::ValueMap< std::pair< float, float > > > TimeValueMapHandle_
bool getByLabel(InputTag const &, Handle< T > &) const
Definition: EventBase.h:97
edm::Handle< std::vector< reco::CaloCluster > > layerClustersHandle_
const edm::EventBase * getEvent() const
Definition: FWEventItem.h:131
bool isValid() const
Definition: HandleBase.h:70
Log< level::Warning, false > LogWarning
const FWEventItem * item() const

◆ build() [2/2]

void FWTracksterHitsProxyBuilder::build ( const ticl::Trackster iData,
unsigned int  iIndex,
TEveElement &  oItemHolder,
const FWViewContext  
)
overrideprivatevirtual

iIndex is the index where iData is found in the container from which it came iItemHolder is the object to which you add your own objects which inherit from TEveElement

Reimplemented from FWHeatmapProxyBuilderTemplate< ticl::Trackster >.

Definition at line 110 of file FWTracksterHitsProxyBuilder.cc.

References funct::abs(), simBeamSpotPI::alpha, ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), FWEventItem::ModelInfo::displayProperties(), ticl::Trackster::edges(), SelectiveReadoutTask_cfi::edges, enableEdges_, enablePositionLines_, enableSeedLines_, enableTimeFilter_, hcalRecHitTable_cff::energy, reco::CaloCluster::energy(), f, edm::ValueMap< T >::get(), FWGeometry::getCorners(), FWEventItem::getGeom(), FWGeometry::getParameters(), FWGeometry::getShapePars(), FWHeatmapProxyBuilderTemplate< ticl::Trackster >::gradient, FWHeatmapProxyBuilderTemplate< ticl::Trackster >::gradient_steps, heatmap_, FWHeatmapProxyBuilderTemplate< ticl::Trackster >::hitmap, reco::CaloCluster::hitsAndFractions(), mps_fire::i, edm::HandleBase::isValid(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, FWProxyBuilderBase::item(), FWProxyBuilderBase::layer(), layer_, hltEgammaHGCALIDVarsL1Seeded_cfi::layerClusters, layerClustersHandle_, FWEventItem::modelInfo(), N, hltrates_dqm_sourceclient-live_cfg::offset, reco::CaloCluster::position(), CosmicsPD_Skims::radius, DetId::rawId(), saturation_energy_, reco::CaloCluster::seed(), FWProxyBuilderBase::setupAddElement(), hcalRecHitTable_cff::time, timeUpperBound_, TimeValueMapHandle_, FWDisplayProperties::transparency(), trackerHitRTTI::vector, ticl::Trackster::vertices(), z_minus_, z_plus_, and ecaldqm::zside().

113  {
115  const float time = TimeValueMapHandle_->get(iIndex).first;
116  if (time < timeLowerBound_ || time > timeUpperBound_)
117  return;
118  }
119 
120  const ticl::Trackster &trackster = iData;
121  const size_t N = trackster.vertices().size();
122  const std::vector<reco::CaloCluster> &layerClusters = *layerClustersHandle_;
123 
124  TEveBoxSet *hex_boxset = new TEveBoxSet();
125  if (!heatmap_)
126  hex_boxset->UseSingleColor();
127  hex_boxset->SetPickable(true);
128  hex_boxset->Reset(TEveBoxSet::kBT_Hex, true, 64);
129 
130  TEveBoxSet *boxset = new TEveBoxSet();
131  if (!heatmap_)
132  boxset->UseSingleColor();
133  boxset->SetPickable(true);
134  boxset->Reset(TEveBoxSet::kBT_FreeBox, true, 64);
135 
136  TEveStraightLineSet *seed_marker = nullptr;
137  if (enableSeedLines_) {
138  seed_marker = new TEveStraightLineSet("seeds");
139  seed_marker->SetLineWidth(2);
140  seed_marker->SetLineColor(kOrange + 10);
141  seed_marker->GetLinePlex().Reset(sizeof(TEveStraightLineSet::Line_t), 2 * N);
142  }
143 
144  TEveStraightLineSet *position_marker = nullptr;
145  if (enablePositionLines_) {
146  position_marker = new TEveStraightLineSet("positions");
147  position_marker->SetLineWidth(2);
148  position_marker->SetLineColor(kOrange);
149  position_marker->GetLinePlex().Reset(sizeof(TEveStraightLineSet::Line_t), 2 * N);
150  }
151 
152  for (size_t i = 0; i < N; ++i) {
153  const reco::CaloCluster layerCluster = layerClusters[trackster.vertices(i)];
154  std::vector<std::pair<DetId, float>> clusterDetIds = layerCluster.hitsAndFractions();
155 
156  for (std::vector<std::pair<DetId, float>>::iterator it = clusterDetIds.begin(), itEnd = clusterDetIds.end();
157  it != itEnd;
158  ++it) {
159  const float *corners = item()->getGeom()->getCorners(it->first);
160  if (corners == nullptr)
161  continue;
162 
163  if (heatmap_ && hitmap->find(it->first) == hitmap->end())
164  continue;
165 
166  const float *parameters = item()->getGeom()->getParameters(it->first);
167  const float *shapes = item()->getGeom()->getShapePars(it->first);
168 
169  if (parameters == nullptr || shapes == nullptr)
170  continue;
171 
172  const int total_points = parameters[0];
173  const int layer = parameters[1];
174  const int zside = parameters[2];
175  const bool isSilicon = parameters[3];
176 
177  // discard everything that's not at the side that we are intersted in
178  auto const z_selection_is_on = z_plus_ ^ z_minus_;
179  auto const z_plus_selection_ok = z_plus_ && (zside == 1);
180  auto const z_minus_selection_ok = z_minus_ && (zside == -1);
181  if (!z_minus_ && !z_plus_)
182  break;
183  if (z_selection_is_on && !(z_plus_selection_ok || z_minus_selection_ok))
184  break;
185 
186  if (layer_ > 0 && layer != layer_)
187  break;
188 
189  // seed and cluster position
190  if (layerCluster.seed().rawId() == it->first.rawId()) {
191  const float crossScale = 0.2f + fmin(layerCluster.energy(), 5.0f);
192  if (enableSeedLines_) {
193  // center of RecHit
194  const float center[3] = {corners[total_points * 3 + 0],
195  corners[total_points * 3 + 1],
196  corners[total_points * 3 + 2] + shapes[3] * 0.5f};
197 
198  // draw 3D cross
199  seed_marker->AddLine(
200  center[0] - crossScale, center[1], center[2], center[0] + crossScale, center[1], center[2]);
201  seed_marker->AddLine(
202  center[0], center[1] - crossScale, center[2], center[0], center[1] + crossScale, center[2]);
203  }
204 
205  if (enablePositionLines_) {
206  auto const &pos = layerCluster.position();
207  const float position_crossScale = crossScale * 0.5;
208  position_marker->AddLine(
209  pos.x() - position_crossScale, pos.y(), pos.z(), pos.x() + position_crossScale, pos.y(), pos.z());
210  position_marker->AddLine(
211  pos.x(), pos.y() - position_crossScale, pos.z(), pos.x(), pos.y() + position_crossScale, pos.z());
212  }
213  }
214 
215  const float energy =
216  fmin((item()->getConfig()->value<bool>("Cluster(0)/RecHit(1)") ? hitmap->at(it->first)->energy()
217  : layerCluster.energy()) /
219  1.0f);
220  const uint8_t colorFactor = gradient_steps * energy;
221  auto transparency = item()->modelInfo(iIndex).displayProperties().transparency();
222  UChar_t alpha = (255 * (100 - transparency)) / 100;
223 
224  // Scintillator
225  if (!isSilicon) {
226  const int total_vertices = 3 * total_points;
227 
228  std::vector<float> pnts(24);
229  for (int i = 0; i < total_points; ++i) {
230  pnts[i * 3 + 0] = corners[i * 3];
231  pnts[i * 3 + 1] = corners[i * 3 + 1];
232  pnts[i * 3 + 2] = corners[i * 3 + 2];
233 
234  pnts[(i * 3 + 0) + total_vertices] = corners[i * 3];
235  pnts[(i * 3 + 1) + total_vertices] = corners[i * 3 + 1];
236  pnts[(i * 3 + 2) + total_vertices] = corners[i * 3 + 2] + shapes[3];
237  }
238  boxset->AddBox(&pnts[0]);
239  if (heatmap_) {
240  energy
241  ? boxset->DigitColor(gradient[0][colorFactor], gradient[1][colorFactor], gradient[2][colorFactor], alpha)
242  : boxset->DigitColor(64, 64, 64, alpha);
243  }
244  }
245  // Silicon
246  else {
247  constexpr int offset = 9;
248 
249  float centerX = (corners[6] + corners[6 + offset]) / 2;
250  float centerY = (corners[7] + corners[7 + offset]) / 2;
251  float radius = fabs(corners[6] - corners[6 + offset]) / 2;
252  hex_boxset->AddHex(TEveVector(centerX, centerY, corners[2]), radius, shapes[2], shapes[3]);
253  if (heatmap_) {
254  energy ? hex_boxset->DigitColor(
255  gradient[0][colorFactor], gradient[1][colorFactor], gradient[2][colorFactor], alpha)
256  : hex_boxset->DigitColor(64, 64, 64, alpha);
257  } else {
258  hex_boxset->CSCApplyMainColorToMatchingChildren();
259  hex_boxset->CSCApplyMainTransparencyToMatchingChildren();
260  hex_boxset->SetMainColor(item()->modelInfo(iIndex).displayProperties().color());
261  hex_boxset->SetMainTransparency(item()->defaultDisplayProperties().transparency());
262  }
263  }
264  } // End of loop over rechits of a single layercluster
265  } // End loop over the layerclusters of the trackster
266 
267  hex_boxset->RefitPlex();
268  boxset->RefitPlex();
269  setupAddElement(hex_boxset, &oItemHolder);
270  setupAddElement(boxset, &oItemHolder);
271 
272  if (enableSeedLines_)
273  oItemHolder.AddElement(seed_marker);
274 
276  oItemHolder.AddElement(position_marker);
277 
278  if (enableEdges_) {
279  auto &edges = trackster.edges();
280 
281  TEveStraightLineSet *adjacent_marker = new TEveStraightLineSet("adj_edges");
282  adjacent_marker->SetLineWidth(2);
283  adjacent_marker->SetLineColor(kYellow);
284  adjacent_marker->GetLinePlex().Reset(sizeof(TEveStraightLineSet::Line_t), edges.size());
285 
286  TEveStraightLineSet *non_adjacent_marker = new TEveStraightLineSet("non_adj_edges");
287  non_adjacent_marker->SetLineWidth(2);
288  non_adjacent_marker->SetLineColor(kRed);
289  non_adjacent_marker->GetLinePlex().Reset(sizeof(TEveStraightLineSet::Line_t), edges.size());
290 
291  for (auto edge : edges) {
292  auto doublet = std::make_pair(layerClusters[edge[0]], layerClusters[edge[1]]);
293 
294  int layerIn = item()->getGeom()->getParameters(doublet.first.seed())[1];
295  int layerOut = item()->getGeom()->getParameters(doublet.second.seed())[1];
296 
297  const bool isAdjacent = std::abs(layerOut - layerIn) == 1;
298 
299  // draw 3D cross
300  if (layer_ == 0 || std::abs(layerIn - layer_) == 0 || std::abs(layerOut - layer_) == 0) {
301  if (isAdjacent)
302  adjacent_marker->AddLine(doublet.first.x(),
303  doublet.first.y(),
304  doublet.first.z(),
305  doublet.second.x(),
306  doublet.second.y(),
307  doublet.second.z());
308  else
309  non_adjacent_marker->AddLine(doublet.first.x(),
310  doublet.first.y(),
311  doublet.first.z(),
312  doublet.second.x(),
313  doublet.second.y(),
314  doublet.second.z());
315  }
316  } // End of loop over all edges of the trackster
317  oItemHolder.AddElement(adjacent_marker);
318  oItemHolder.AddElement(non_adjacent_marker);
319  }
320 }
const math::XYZPoint & position() const
cluster centroid position
Definition: CaloCluster.h:154
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
Definition: CaloCluster.h:210
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
const_reference_type get(ProductID id, size_t idx) const
Definition: ValueMap.h:138
DetId seed() const
return DetId of seed
Definition: CaloCluster.h:219
Char_t transparency() const
edm::Handle< edm::ValueMap< std::pair< float, float > > > TimeValueMapHandle_
int zside(DetId const &)
std::vector< std::array< unsigned int, 2 > > & edges()
Definition: Trackster.h:59
edm::Handle< std::vector< reco::CaloCluster > > layerClustersHandle_
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:64
const float * getCorners(unsigned int id) const
Definition: FWGeometry.cc:439
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double f[11][100]
static constexpr uint8_t gradient[3][gradient_steps]
double energy() const
cluster energy
Definition: CaloCluster.h:149
std::vector< unsigned int > & vertices()
Definition: Trackster.h:57
const FWGeometry * getGeom() const
Definition: FWEventItem.cc:548
#define N
Definition: blowfish.cc:9
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
const float * getShapePars(unsigned int id) const
Definition: FWGeometry.cc:461
bool isValid() const
Definition: HandleBase.h:70
const float * getParameters(unsigned int id) const
Definition: FWGeometry.cc:450
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446
const FWEventItem * item() const
std::unordered_map< DetId, const HGCRecHit *> * hitmap

◆ classPurpose()

const std::string & FWTracksterHitsProxyBuilder::classPurpose ( )
static

Definition at line 322 of file FWTracksterHitsProxyBuilder.cc.

◆ classRegisterTypeName()

const std::string & FWTracksterHitsProxyBuilder::classRegisterTypeName ( )
static

Definition at line 322 of file FWTracksterHitsProxyBuilder.cc.

◆ classTypeName()

const std::string & FWTracksterHitsProxyBuilder::classTypeName ( )
static

Definition at line 322 of file FWTracksterHitsProxyBuilder.cc.

◆ classView()

const std::string & FWTracksterHitsProxyBuilder::classView ( )
static

Definition at line 322 of file FWTracksterHitsProxyBuilder.cc.

◆ operator=()

const FWTracksterHitsProxyBuilder& FWTracksterHitsProxyBuilder::operator= ( const FWTracksterHitsProxyBuilder )
delete

◆ purpose()

const std::string& FWTracksterHitsProxyBuilder::purpose ( ) const
inline

Definition at line 21 of file FWTracksterHitsProxyBuilder.cc.

◆ setItem()

void FWTracksterHitsProxyBuilder::setItem ( const FWEventItem iItem)
overrideprivatevirtual

Reimplemented from FWProxyBuilderBase.

Definition at line 49 of file FWTracksterHitsProxyBuilder.cc.

References FWProxyBuilderConfiguration::assertParam(), FWEventItem::getConfig(), and FWHeatmapProxyBuilderTemplate< T >::setItem().

49  {
51  if (iItem) {
52  iItem->getConfig()->assertParam("Cluster(0)/RecHit(1)", false);
53  iItem->getConfig()->assertParam("EnableSeedLines", false);
54  iItem->getConfig()->assertParam("EnablePositionLines", false);
55  iItem->getConfig()->assertParam("EnableEdges", false);
56  iItem->getConfig()->assertParam("EnableTimeFilter", false);
57  iItem->getConfig()->assertParam("TimeLowerBound(ns)", 0.01, 0.0, 75.0);
58  iItem->getConfig()->assertParam("TimeUpperBound(ns)", 0.01, 0.0, 75.0);
59  }
60 }
void setItem(const FWEventItem *iItem) override
FWProxyBuilderConfiguration * getConfig() const
Definition: FWEventItem.h:150
FWGenericParameter< T > * assertParam(const std::string &name, T def)

◆ typeName()

const std::string& FWTracksterHitsProxyBuilder::typeName ( ) const
inline

Definition at line 21 of file FWTracksterHitsProxyBuilder.cc.

◆ view()

const std::string& FWTracksterHitsProxyBuilder::view ( ) const
inline

Definition at line 21 of file FWTracksterHitsProxyBuilder.cc.

Member Data Documentation

◆ enableEdges_

bool FWTracksterHitsProxyBuilder::enableEdges_
private

Definition at line 38 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ enablePositionLines_

bool FWTracksterHitsProxyBuilder::enablePositionLines_
private

Definition at line 37 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ enableSeedLines_

bool FWTracksterHitsProxyBuilder::enableSeedLines_
private

Definition at line 36 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ enableTimeFilter_

bool FWTracksterHitsProxyBuilder::enableTimeFilter_
private

Definition at line 35 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ heatmap_

bool FWTracksterHitsProxyBuilder::heatmap_
private

Definition at line 32 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ layer_

long FWTracksterHitsProxyBuilder::layer_
private

Definition at line 30 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ layerClustersHandle_

edm::Handle<std::vector<reco::CaloCluster> > FWTracksterHitsProxyBuilder::layerClustersHandle_
private

Definition at line 28 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ saturation_energy_

double FWTracksterHitsProxyBuilder::saturation_energy_
private

Definition at line 31 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ timeLowerBound_

double FWTracksterHitsProxyBuilder::timeLowerBound_
private

Definition at line 29 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ timeUpperBound_

double FWTracksterHitsProxyBuilder::timeUpperBound_
private

Definition at line 29 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ TimeValueMapHandle_

edm::Handle<edm::ValueMap<std::pair<float, float> > > FWTracksterHitsProxyBuilder::TimeValueMapHandle_
private

Definition at line 27 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ z_minus_

bool FWTracksterHitsProxyBuilder::z_minus_
private

Definition at line 34 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().

◆ z_plus_

bool FWTracksterHitsProxyBuilder::z_plus_
private

Definition at line 33 of file FWTracksterHitsProxyBuilder.cc.

Referenced by build().