CMS 3D CMS Logo

FWLegoCandidate.cc
Go to the documentation of this file.
2 
6 
7 //______________________________________________________________________________
9  const FWViewContext *vc, const fireworks::Context &context, float energy, float et, float pt, float eta, float phi)
10  : m_energy(energy), m_et(et), m_pt(pt), m_eta(eta), m_phi(phi) {
11  float base = 0.001; // Floor offset 1%
12 
13  // First vertical line
14  FWViewEnergyScale *caloScale = vc->getEnergyScale();
15  float val = caloScale->getPlotEt() ? m_pt : m_energy; // Use pt instead of et
16 
17  AddLine(m_eta, m_phi, base, m_eta, m_phi, base + val * caloScale->getScaleFactorLego());
18 
19  AddMarker(0, 1.f);
20  SetMarkerStyle(3);
21  SetMarkerSize(0.01);
22  SetDepthTest(false);
23 
24  // Circle pt
25  const unsigned int nLineSegments = 20;
26  const double radius = log(1 + m_pt) / log(10) / 30.f;
27  //const double radius = m_pt / 100.f;
28  const double twoPi = 2 * TMath::Pi();
29 
30  for (unsigned int iPhi = 0; iPhi < nLineSegments; ++iPhi) {
31  AddLine(m_eta + radius * cos(twoPi / nLineSegments * iPhi),
32  m_phi + radius * sin(twoPi / nLineSegments * iPhi),
33  base,
34  m_eta + radius * cos(twoPi / nLineSegments * (iPhi + 1)),
35  m_phi + radius * sin(twoPi / nLineSegments * (iPhi + 1)),
36  base);
37  }
38 }
39 
40 //______________________________________________________________________________
42  FWViewEnergyScale *caloScale = vc->getEnergyScale();
43  float val = caloScale->getPlotEt() ? m_pt : m_energy; // Use pt instead of et
44  float scaleFac = caloScale->getScaleFactorLego();
45 
46  // Resize first line
47  TEveChunkManager::iterator li(GetLinePlex());
48  li.next();
49  TEveStraightLineSet::Line_t &l = *(TEveStraightLineSet::Line_t *)li();
50  l.fV2[2] = l.fV1[2] + val * scaleFac;
51 
52  // Move end point (marker)
53  TEveChunkManager::iterator mi(GetMarkerPlex());
54  mi.next();
55  TEveStraightLineSet::Marker_t &m = *(TEveStraightLineSet::Marker_t *)mi();
56  m.fV[2] = l.fV2[2]; // Set to new top of line
57 }
FWLegoCandidate::FWLegoCandidate
FWLegoCandidate()
Definition: FWLegoCandidate.h:38
fireworks::Context
Definition: Context.h:41
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
FWViewEnergyScale::getPlotEt
bool getPlotEt() const
Definition: FWViewEnergyScale.h:47
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
visDQMUpload.context
context
Definition: visDQMUpload.py:37
FWViewContext.h
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
PVValHelper::eta
Definition: PVValidationHelpers.h:70
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:78
Geom::twoPi
constexpr double twoPi()
Definition: Pi.h:32
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
FWLegoCandidate::m_pt
float m_pt
Definition: FWLegoCandidate.h:51
FWViewEnergyScale::getScaleFactorLego
float getScaleFactorLego() const
Definition: FWViewEnergyScale.h:45
PVValHelper::phi
Definition: PVValidationHelpers.h:69
FWLegoCandidate::m_phi
float m_phi
Definition: FWLegoCandidate.h:53
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
FWViewContext
Definition: FWViewContext.h:32
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:204
heppy_batch.val
val
Definition: heppy_batch.py:351
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
FWViewEnergyScale
Definition: FWViewEnergyScale.h:34
FWLegoCandidate.h
FWLegoCandidate::updateScale
void updateScale(const FWViewContext *vc, const fireworks::Context &)
Definition: FWLegoCandidate.cc:41
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
FWLegoCandidate::m_eta
float m_eta
Definition: FWLegoCandidate.h:52
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
FWViewEnergyScale.h
newFWLiteAna.base
base
Definition: newFWLiteAna.py:92
FWViewContext::getEnergyScale
FWViewEnergyScale * getEnergyScale() const
Definition: FWViewContext.cc:25
FWLegoCandidate::m_energy
float m_energy
Definition: FWLegoCandidate.h:49
Context.h