36 #include "TEveManager.h"
37 #include "TEveTrack.h"
38 #include "TEveTrackPropagator.h"
40 #include "TGeoManager.h"
41 #include "TGeoMatrix.h"
42 #include "TEveGeoNode.h"
43 #include "TEveTrans.h"
44 #include "TEveScene.h"
45 #include "TGLScenePad.h"
46 #include "TGLRnrCtx.h"
55 TEveGeoTopNode*
make_node(
const TString&
path, Int_t vis_level, Bool_t global_cs);
61 virtual void endJob()
override;
95 m_trackTags(iConfig.getUntrackedParameter<edm::
InputTag>(
"tracks")),
111 if (! gGeoManager->cd(path))
113 Warning(
"make_node",
"Path '%s' not found.", path.Data());
117 TEveGeoTopNode* tn =
new TEveGeoTopNode(gGeoManager, gGeoManager->GetCurrentNode());
118 tn->SetVisLevel(vis_level);
121 tn->RefMainTrans().SetFrom(*gGeoManager->GetCurrentMatrix());
135 printf(
"DummyEvelyser::beginJob\n");
149 TEveTrackPropagator *prop =
m_trackList->GetPropagator();
150 prop->SetStepper(TEveTrackPropagator::kRungeKutta);
158 printf(
"DummyEvelyser::endJob\n");
171 printf(
"DummyEvelyser::beginRun\n");
175 m_geomList =
new TEveElementList(
"DummyEvelyzer Geom");
177 m_eve->
getManager()->GetGlobalScene()->GetGLScene()->SetStyle(TGLRnrCtx::kWireFrame);
183 printf(
"DummyEvelyser::endRun\n");
194 TEveGeoManagerHolder _tgeo(const_cast<TGeoManager*>(geom.
product()));
199 make_node(
"/cms:World_1/cms:CMSE_1/tracker:Tracker_1", 1, kTRUE);
200 make_node(
"/cms:World_1/cms:CMSE_1/caloBase:CALO_1", 1, kTRUE);
201 make_node(
"/cms:World_1/cms:CMSE_1/muonBase:MUON_1", 1, kTRUE);
206 printf(
"DummyEvelyser::analyze\n");
229 itTrack !=
tracks->end(); ++itTrack, ++cnt)
232 trk->SetElementName (TString::Format(
"Track %d", cnt));
233 trk->SetElementTitle(TString::Format(
"Track %d, pt=%.3f", cnt, itTrack->pt()));
edm::Service< EveService > m_eve
virtual void endRun(const edm::Run &, const edm::EventSetup &) override
TEveTrack * prepareTrack(const reco::Track &track, TEveTrackPropagator *propagator, const std::vector< TEveVector > &extraRefPoints=std::vector< TEveVector >())
#define DEFINE_FWK_MODULE(type)
DummyEvelyser(const edm::ParameterSet &)
virtual void beginJob() override
edm::ESWatcher< DisplayGeomRecord > m_geomWatcher
virtual void endJob() override
void get(HolderT &iHolder) const
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
void display(const std::string &info="")
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
TEveGeoTopNode * make_node(const TString &path, Int_t vis_level, Bool_t global_cs)
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
TEveManager * getManager()
T const * product() const
void setupFieldForPropagator(TEveTrackPropagator *prop)
bool check(const edm::EventSetup &iSetup)
edm::InputTag m_trackTags
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
void AddElement(TEveElement *el)
TEveTrackList * m_trackList
void remakeGeometry(const DisplayGeomRecord &dgRec)
void AddGlobalElement(TEveElement *el)