Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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
13
public
:
14
FWGenParticleLegoProxyBuilder
() {}
15
virtual
~FWGenParticleLegoProxyBuilder
() {}
16
17
virtual
void
setItem
(
const
FWEventItem
* iItem)
18
{
19
FWProxyBuilderBase::setItem
(iItem);
20
if
(iItem)
21
{
22
iItem->
getConfig
()->
assertParam
(
"MarkerStyle"
, 0
l
, -1
l
, 3
l
);
23
iItem->
getConfig
()->
assertParam
(
"MarkerSize"
,2., 0.1, 10.);
24
}
25
}
26
27
// ---------- member functions ---------------------------
28
REGISTER_PROXYBUILDER_METHODS
();
29
30
private
:
31
FWGenParticleLegoProxyBuilder
(
const
FWGenParticleLegoProxyBuilder
&);
// stop default
32
33
const
FWGenParticleLegoProxyBuilder
&
operator=
(
const
FWGenParticleLegoProxyBuilder
&);
// stop default
34
35
void
build
(
const
reco::GenParticle
& iData,
unsigned
int
iIndex,TEveElement& oItemHolder,
const
FWViewContext
*);
36
};
37
38
//______________________________________________________________________________
39
40
41
void
42
FWGenParticleLegoProxyBuilder::build
(
const
reco::GenParticle
& iData,
unsigned
int
iIndex, TEveElement& oItemHolder,
const
FWViewContext
*)
43
{
44
long
markerStyle =
item
()->
getConfig
()->
value
<
long
>(
"MarkerStyle"
);
45
double
markerSize =
item
()->
getConfig
()->
value
<
double
>(
"MarkerSize"
);
46
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
69
REGISTER_FWPROXYBUILDER
(
FWGenParticleLegoProxyBuilder
,
reco::GenParticle
,
"GenParticles"
,
FWViewType::kLegoBit
);
70
FWSimpleProxyBuilderTemplate.h
FWEventItem::getConfig
FWProxyBuilderConfiguration * getConfig() const
Definition:
FWEventItem.h:166
REGISTER_FWPROXYBUILDER
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
Definition:
FWProxyBuilderFactory.h:34
FWProxyBuilderConfiguration.h
GenParticle.h
FWGenParticleLegoProxyBuilder::~FWGenParticleLegoProxyBuilder
virtual ~FWGenParticleLegoProxyBuilder()
Definition:
FWGenParticleLegoProxyBuilder.cc:15
FWProxyBuilderBase::setupAddElement
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
Definition:
FWProxyBuilderBase.cc:430
FWViewType::kLegoBit
Definition:
FWViewType.h:47
FWViewContext
Definition:
FWViewContext.h:33
reco::LeafCandidate::eta
virtual double eta() const
momentum pseudorapidity
Definition:
LeafCandidate.h:143
FWGenParticleLegoProxyBuilder::operator=
const FWGenParticleLegoProxyBuilder & operator=(const FWGenParticleLegoProxyBuilder &)
FWProxyBuilderBase::item
const FWEventItem * item() const
Definition:
FWProxyBuilderBase.h:68
FWGenParticleLegoProxyBuilder::FWGenParticleLegoProxyBuilder
FWGenParticleLegoProxyBuilder()
Definition:
FWGenParticleLegoProxyBuilder.cc:14
FWGenParticleLegoProxyBuilder
Definition:
FWGenParticleLegoProxyBuilder.cc:11
FWProxyBuilderBase::setItem
virtual void setItem(const FWEventItem *iItem)
Definition:
FWProxyBuilderBase.cc:95
FWGenParticleLegoProxyBuilder::setItem
virtual void setItem(const FWEventItem *iItem)
Definition:
FWGenParticleLegoProxyBuilder.cc:17
FWProxyBuilderBase::build
void build()
Definition:
FWProxyBuilderBase.cc:132
GenParticleFwd.h
FWProxyBuilderConfiguration::assertParam
FWGenericParameter< T > * assertParam(const std::string &name, T def)
Definition:
FWProxyBuilderConfiguration.cc:99
FWEventItem
Definition:
FWEventItem.h:57
FWEventItem.h
CandidateUtils.h
prof2calltree.l
tuple l
Definition:
prof2calltree.py:116
dtNoiseDBValidation_cfg.cerr
tuple cerr
Definition:
dtNoiseDBValidation_cfg.py:22
reco::GenParticle
Definition:
GenParticle.h:21
FWProxyBuilderConfiguration::value
T value(const std::string &name)
Definition:
FWProxyBuilderConfiguration.cc:126
reco::LeafCandidate::phi
virtual double phi() const
momentum azimuthal angle
Definition:
LeafCandidate.h:139
FWGenParticleLegoProxyBuilder::REGISTER_PROXYBUILDER_METHODS
REGISTER_PROXYBUILDER_METHODS()
FWSimpleProxyBuilderTemplate
Definition:
FWSimpleProxyBuilderTemplate.h:30
Generated for CMSSW Reference Manual by
1.8.5