CMS 3D CMS Logo

FWPFPatJetLegoProxyBuilder.cc
Go to the documentation of this file.
3 
4 //______________________________________________________________________________
5 template <class T>
7 template <class T>
9 
10 //______________________________________________________________________________
11 template <class T>
13  unsigned int iIndex,
14  TEveElement& oItemHolder,
15  const FWViewContext* vc) {
16  std::vector<reco::PFCandidatePtr> consts = iData.getPFConstituents();
17 
18  typedef std::vector<reco::PFCandidatePtr>::const_iterator IC;
19 
20  for (IC ic = consts.begin(); ic != consts.end(); ++ic) {
21  const reco::PFCandidatePtr pfCandPtr = *ic;
22 
23  FWLegoCandidate* candidate = new FWLegoCandidate(vc,
25  pfCandPtr->energy(),
26  pfCandPtr->et(),
27  pfCandPtr->pt(),
28  pfCandPtr->eta(),
29  pfCandPtr->phi());
30  candidate->SetMarkerColor(FWProxyBuilderBase::item()->defaultDisplayProperties().color());
31  fireworks::setTrackTypePF((*pfCandPtr), candidate);
32  FWProxyBuilderBase::setupAddElement(candidate, &oItemHolder);
33 
34  FWProxyBuilderBase::context().voteMaxEtAndEnergy(pfCandPtr->et(), pfCandPtr->energy());
35  }
36 }
37 
38 //______________________________________________________________________________
39 template <class T>
42  const FWViewContext* vc) {
43  // loop items in product
44  for (TEveElement::List_i i = parent->BeginChildren(); i != parent->EndChildren(); ++i) {
45  if ((*i)->HasChildren()) {
46  // loop elements for the reco::PFJet item
47  for (TEveElement::List_i j = (*i)->BeginChildren(); j != (*i)->EndChildren(); ++j) {
48  FWLegoCandidate* cand = dynamic_cast<FWLegoCandidate*>(*j);
49  cand->updateScale(vc, FWProxyBuilderBase::context());
50  }
51  }
52  }
53 }
54 
55 //______________________________________________________________________________
56 template <class T>
58  TEveElement* parent,
59  FWViewType::EType viewType,
60  const FWViewContext* vc) {
61  // line set marker is not same color as line, have to fix it here
62  if ((parent)->HasChildren()) {
63  for (TEveElement::List_i j = parent->BeginChildren(); j != parent->EndChildren(); ++j) {
64  FWLegoCandidate* cand = dynamic_cast<FWLegoCandidate*>(*j);
65  cand->SetMarkerColor(FWProxyBuilderBase::item()->modelInfo(iId.index()).displayProperties().color());
66  cand->ElementChanged();
67  }
68  }
69 }
70 
71 //____________________________PAT_______________________________________________
73 public:
76 
78 };
79 
80 //____________________________PF________________________________________________
82 public:
85 
87 };
88 
89 //______________________________________________________________________________
92 
93 //______________________________________________________________________________
96  "PF Jet",
99  pat::Jet,
100  "PF PatJet",
mps_fire.i
i
Definition: mps_fire.py:355
FWViewType::kLegoBit
Definition: FWViewType.h:55
FWViewType::EType
EType
Definition: FWViewType.h:31
REGISTER_FWPROXYBUILDER
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
Definition: FWProxyBuilderFactory.h:33
FWPatJetLegoProxyBuilder
Definition: FWPFPatJetLegoProxyBuilder.cc:72
FWModelId
Definition: FWModelId.h:28
FWViewType::kLegoPFECALBit
Definition: FWViewType.h:57
REGISTER_PROXYBUILDER_METHODS
#define REGISTER_PROXYBUILDER_METHODS()
Definition: register_dataproxybuilder_macro.h:28
FWPFPatJetLegoProxyBuilder::scaleProduct
void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc) override
Definition: FWPFPatJetLegoProxyBuilder.cc:40
FWPFJetLegoProxyBuilder
Definition: FWPFPatJetLegoProxyBuilder.cc:81
fireworks::setTrackTypePF
void setTrackTypePF(const reco::PFCandidate &pfCand, TAttLine *track)
Definition: setTrackTypePF.cc:16
FWLegoCandidate
Definition: FWLegoCandidate.h:28
FWPFPatJetLegoProxyBuilder::localModelChanges
void localModelChanges(const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc) override
Definition: FWPFPatJetLegoProxyBuilder.cc:57
FWPFPatJetLegoProxyBuilder::~FWPFPatJetLegoProxyBuilder
~FWPFPatJetLegoProxyBuilder() override
Definition: FWPFPatJetLegoProxyBuilder.cc:8
pat::Jet
Analysis-level calorimeter jet class.
Definition: Jet.h:77
fireworks::Context::voteMaxEtAndEnergy
void voteMaxEtAndEnergy(float Et, float energy) const
Definition: Context.cc:162
FWPatJetLegoProxyBuilder::FWPatJetLegoProxyBuilder
FWPatJetLegoProxyBuilder()
Definition: FWPFPatJetLegoProxyBuilder.cc:74
FWModelId::index
int index() const
Definition: FWModelId.h:41
cand
Definition: decayParser.h:34
FWProxyBuilderBase::setupAddElement
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Definition: FWProxyBuilderBase.cc:350
FWPFJetLegoProxyBuilder::FWPFJetLegoProxyBuilder
FWPFJetLegoProxyBuilder()
Definition: FWPFPatJetLegoProxyBuilder.cc:83
FWProxyBuilderBase::build
void build()
Definition: FWProxyBuilderBase.cc:110
FWViewContext
Definition: FWViewContext.h:32
edm::Ptr< PFCandidate >
FWProxyBuilderBase::item
const FWEventItem * item() const
Definition: FWProxyBuilderBase.h:64
type
type
Definition: HCALResponse.h:21
FWPatJetLegoProxyBuilder::~FWPatJetLegoProxyBuilder
~FWPatJetLegoProxyBuilder() override
Definition: FWPFPatJetLegoProxyBuilder.cc:75
T
long double T
Definition: Basic3DVectorLD.h:48
FWPFPatJetLegoProxyBuilder::FWPFPatJetLegoProxyBuilder
FWPFPatJetLegoProxyBuilder()
Definition: FWPFPatJetLegoProxyBuilder.cc:6
reco::PFJet
Jets made from PFObjects.
Definition: PFJet.h:20
FWLegoCandidate.h
FWPFPatJetLegoProxyBuilder.h
FWProxyBuilderBase::context
const fireworks::Context & context() const
Definition: FWProxyBuilderBase.cc:412
FWPFPatJetLegoProxyBuilder
Definition: FWPFPatJetLegoProxyBuilder.h:27
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
class-composition.parent
parent
Definition: class-composition.py:88
FWPFJetLegoProxyBuilder::~FWPFJetLegoProxyBuilder
~FWPFJetLegoProxyBuilder() override
Definition: FWPFPatJetLegoProxyBuilder.cc:84