Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
Fireworks
GenParticle
plugins
FWGenParticleLegoProxyBuilder.cc
Go to the documentation of this file.
1
#include "TEvePointSet.h"
2
3
#include "
Fireworks/Core/interface/FWEventItem.h
"
4
#include "
Fireworks/Core/interface/FWSimpleProxyBuilderTemplate.h
"
5
#include "
Fireworks/Core/interface/FWProxyBuilderConfiguration.h
"
6
#include "
Fireworks/Candidates/interface/CandidateUtils.h
"
7
8
#include "
DataFormats/HepMCCandidate/interface/GenParticle.h
"
9
#include "
DataFormats/HepMCCandidate/interface/GenParticleFwd.h
"
10
11
class
FWGenParticleLegoProxyBuilder
:
public
FWSimpleProxyBuilderTemplate
<reco::GenParticle> {
12
public
:
13
FWGenParticleLegoProxyBuilder
() {}
14
~FWGenParticleLegoProxyBuilder
()
override
{}
15
16
void
setItem
(
const
FWEventItem
* iItem)
override
{
17
FWProxyBuilderBase::setItem
(iItem);
18
if
(iItem) {
19
iItem->
getConfig
()->
assertParam
(
"MarkerStyle"
, 0
l
, -1
l
, 3
l
);
20
iItem->
getConfig
()->
assertParam
(
"MarkerSize"
, 2., 0.1, 10.);
21
}
22
}
23
24
// ---------- member functions ---------------------------
25
REGISTER_PROXYBUILDER_METHODS
();
26
27
FWGenParticleLegoProxyBuilder
(
const
FWGenParticleLegoProxyBuilder
&) =
delete
;
// stop default
28
29
const
FWGenParticleLegoProxyBuilder
&
operator=
(
const
FWGenParticleLegoProxyBuilder
&) =
delete
;
// stop default
30
31
private
:
32
using
FWSimpleProxyBuilderTemplate<reco::GenParticle>::build
;
33
void
build
(
const
reco::GenParticle
& iData,
34
unsigned
int
iIndex,
35
TEveElement& oItemHolder,
36
const
FWViewContext
*)
override
;
37
};
38
39
//______________________________________________________________________________
40
41
void
FWGenParticleLegoProxyBuilder::build
(
const
reco::GenParticle
& iData,
42
unsigned
int
iIndex,
43
TEveElement& oItemHolder,
44
const
FWViewContext
*) {
45
long
markerStyle =
item
()->
getConfig
()->
value
<
long
>(
"MarkerStyle"
);
46
double
markerSize =
item
()->
getConfig
()->
value
<
double
>(
"MarkerSize"
);
47
48
// workaround around for TEvePointSet marker styles indices
49
if
(markerStyle == 0)
50
markerStyle = 3;
51
else
if
(markerStyle == 1)
52
markerStyle = 4;
53
else
if
(markerStyle == 2)
54
markerStyle = 8;
55
std::cerr
<< std::endl;
56
57
// scale non-pixel size marker
58
if
(markerStyle == 3)
59
markerSize /= 20;
60
61
TEvePointSet* ps =
new
TEvePointSet();
62
ps->SetMarkerStyle(markerStyle);
63
ps->SetMarkerSize(markerSize);
64
ps->SetNextPoint(iData.
eta
(), iData.
phi
(), 0.001);
65
setupAddElement
(ps, &oItemHolder);
66
}
67
68
REGISTER_FWPROXYBUILDER
(
FWGenParticleLegoProxyBuilder
,
reco::GenParticle
,
"GenParticles"
,
FWViewType::kLegoBit
);
FWSimpleProxyBuilderTemplate.h
FWEventItem::getConfig
FWProxyBuilderConfiguration * getConfig() const
Definition:
FWEventItem.h:150
REGISTER_PROXYBUILDER_METHODS
#define REGISTER_PROXYBUILDER_METHODS()
Definition:
register_dataproxybuilder_macro.h:27
REGISTER_FWPROXYBUILDER
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
Definition:
FWProxyBuilderFactory.h:33
FWProxyBuilderConfiguration.h
GenParticle.h
FWProxyBuilderBase::setupAddElement
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Definition:
FWProxyBuilderBase.cc:350
FWViewType::kLegoBit
Definition:
FWViewType.h:55
FWViewContext
Definition:
FWViewContext.h:32
cmsLHEtoEOSManager.l
tuple l
Definition:
cmsLHEtoEOSManager.py:204
FWProxyBuilderBase::item
const FWEventItem * item() const
Definition:
FWProxyBuilderBase.h:64
FWGenParticleLegoProxyBuilder::FWGenParticleLegoProxyBuilder
FWGenParticleLegoProxyBuilder()
Definition:
FWGenParticleLegoProxyBuilder.cc:13
FWGenParticleLegoProxyBuilder
Definition:
FWGenParticleLegoProxyBuilder.cc:11
FWGenParticleLegoProxyBuilder::~FWGenParticleLegoProxyBuilder
~FWGenParticleLegoProxyBuilder() override
Definition:
FWGenParticleLegoProxyBuilder.cc:14
FWProxyBuilderBase::setItem
virtual void setItem(const FWEventItem *iItem)
Definition:
FWProxyBuilderBase.cc:83
FWProxyBuilderBase::build
void build()
Definition:
FWProxyBuilderBase.cc:110
GenParticleFwd.h
FWGenParticleLegoProxyBuilder::operator=
const FWGenParticleLegoProxyBuilder & operator=(const FWGenParticleLegoProxyBuilder &)=delete
FWProxyBuilderConfiguration::assertParam
FWGenericParameter< T > * assertParam(const std::string &name, T def)
Definition:
FWProxyBuilderConfiguration.cc:83
FWEventItem
Definition:
FWEventItem.h:56
FWEventItem.h
CandidateUtils.h
reco::GenParticle
Definition:
GenParticle.h:21
FWProxyBuilderConfiguration::value
T value(const std::string &name)
Definition:
FWProxyBuilderConfiguration.cc:123
FWGenParticleLegoProxyBuilder::setItem
void setItem(const FWEventItem *iItem) override
Definition:
FWGenParticleLegoProxyBuilder.cc:16
EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.cerr
tuple cerr
Definition:
EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.py:8
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition:
LeafCandidate.h:148
FWSimpleProxyBuilderTemplate
Definition:
FWSimpleProxyBuilderTemplate.h:30
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition:
LeafCandidate.h:152
Generated for CMSSW Reference Manual by
1.8.5