Page History
...
Code Block | ||
---|---|---|
| ||
#include "my_ana_pkg/my_ana_mod.h" #include "MsgLogger/MsgLogger.h" #include "PSEvt/EventId.h" #include "psddl_psana/bld.ddl.h" // This declares this class as psana module using namespace my_ana_pkg; PSANA_MODULE_FACTORY(my_ana_mod) namespace my_ana_pkg { my_ana_mod::my_ana_mod (const std::string& name) : Module(name) { } my_ana_mod::~my_ana_mod () { } void my_ana_mod::event(Event& evt, Env& env) { // get event time PSTime::Time evtTime; boost::shared_ptr<PSEvt::EventId> eventId = evt.get(); if (eventId.get()) { evtTime = eventId->time(); } // get beam data boost::shared_ptr<Psana::Bld::BldDataEBeam> ebeam = evt.get(Source()); if (ebeam.get()) { MsgLog(name(), info, "time: " << evtTime << ", charge: " << ebeam->ebeamCharge() << ", energy: " << ebeam->ebeamL3Energy()); } } } |
After you finished editing your module build everything in the release:
Code Block |
---|
scons
|
To run this analysis start pyana giving it module name and input files:
Code Block |
---|
psana -m my_ana_pkg.my_ana_mod /reg/d/psdm/AMO/amo14110/xtc/e43-r0100-s0*
|
which should produce output similar to this:
Code Block |
---|
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.043360843-07, charge: 0.233403, energy: 4393.24
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.093381914-07, charge: 0.248759, energy: 4380.69
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.143398446-07, charge: 0.243547, energy: 4384.99
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.193412744-07, charge: 0.249897, energy: 4393.3
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.243427879-07, charge: 0.248667, energy: 4389.08
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.293446716-07, charge: 0.245666, energy: 4392.14
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.343468975-07, charge: 0.251093, energy: 4389.05
[info:my_ana_pkg.my_ana_mod] time: 2010-07-31 20:05:30.393488859-07, charge: 0.253302, energy: 4389.31
...
|
Overview
Content Tools