|
| CheckProtonProduction (fhicl::ParameterSet const &p) |
|
void | beginJob () override |
|
void | beginRun (const art::Run &Run) override |
|
void | endJob () override |
|
void | analyze (const art::Event &event) override |
|
void | doBeginJob (SharedResources const &resources) |
|
void | doEndJob () |
|
void | doRespondToOpenInputFile (FileBlock const &fb) |
|
void | doRespondToCloseInputFile (FileBlock const &fb) |
|
void | doRespondToOpenOutputFiles (FileBlock const &fb) |
|
void | doRespondToCloseOutputFiles (FileBlock const &fb) |
|
bool | doBeginRun (RunPrincipal &rp, ModuleContext const &mc) |
|
bool | doEndRun (RunPrincipal &rp, ModuleContext const &mc) |
|
bool | doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
|
bool | doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
|
bool | doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed) |
|
ModuleDescription const & | moduleDescription () const |
|
void | setModuleDescription (ModuleDescription const &) |
|
std::array< std::vector< ProductInfo >, NumBranchTypes > const & | getConsumables () const |
|
void | sortConsumables (std::string const ¤t_process_name) |
|
std::unique_ptr< Worker > | makeWorker (WorkerParams const &wp) |
|
template<typename T , BranchType BT> |
ViewToken< T > | consumesView (InputTag const &tag) |
|
template<typename T , BranchType BT> |
ViewToken< T > | mayConsumeView (InputTag const &tag) |
|
|
std::string const & | processName () const |
|
bool | wantAllEvents () const noexcept |
|
bool | wantEvent (ScheduleID id, Event const &e) const |
|
Handle< TriggerResults > | getTriggerResults (Event const &e) const |
|
ConsumesCollector & | consumesCollector () |
|
template<typename T , BranchType = InEvent> |
ProductToken< T > | consumes (InputTag const &) |
|
template<typename Element , BranchType = InEvent> |
ViewToken< Element > | consumesView (InputTag const &) |
|
template<typename T , BranchType = InEvent> |
void | consumesMany () |
|
template<typename T , BranchType = InEvent> |
ProductToken< T > | mayConsume (InputTag const &) |
|
template<typename Element , BranchType = InEvent> |
ViewToken< Element > | mayConsumeView (InputTag const &) |
|
template<typename T , BranchType = InEvent> |
void | mayConsumeMany () |
|
void artg4tk::CheckProtonProduction::analyze |
( |
const art::Event & |
event | ) |
|
|
override |
Definition at line 227 of file CheckProtonProduction_module.cc.
References _fHistoNSec, _fHistoSecDkinE, _fHistoSecDkinE121, _fHistoSecDkinE164, _fHistoSecDkinE54, _fHistoSecDkinE68, _fHistoSecDkinE90, _fHistoSecDMom, _fHistoSecDTheta, _fHistoSecPkinE, _fHistoSecPkinE121, _fHistoSecPkinE164, _fHistoSecPkinE54, _fHistoSecPkinE68, _fHistoSecPkinE90, _fHistoSecPMom, _fHistoSecPTheta, _fHistoSecTkinE, _fHistoSecTkinE121, _fHistoSecTkinE164, _fHistoSecTkinE54, _fHistoSecTkinE68, _fHistoSecTkinE90, _fHistoSecTMom, and _fHistoSecTTheta.
229 typedef std::vector<art::Handle<myInteractionArtHitDataCollection>> HandleVector;
230 auto allSims =
event.getMany<myInteractionArtHitDataCollection>();
233 const myInteractionArtHitDataCollection& sims(**i);
234 if (sims.size() > 0) {
238 const myInteractionArtHitData&
hit = *j;
239 if (hit.pname ==
"proton") {
241 double angle = hit.theta * 57.29577951;
242 if (fabs(angle - 54.) < 2.)
244 if (fabs(angle - 68.) < 2.)
246 if (fabs(angle - 90.) < 2.)
248 if (fabs(angle - 121.) < 2.)
250 if (fabs(angle - 164.) < 2.)
254 }
else if (hit.pname ==
"deuteron") {
256 double angle = hit.theta * 57.29577951;
257 if (fabs(angle - 54.) < 2.)
259 if (fabs(angle - 68.) < 2.)
261 if (fabs(angle - 90.) < 2.)
263 if (fabs(angle - 121.) < 2.)
265 if (fabs(angle - 164.) < 2.)
269 }
else if (hit.pname ==
"triton") {
271 double angle = hit.theta * 57.29577951;
272 if (fabs(angle - 54.) < 2.)
274 if (fabs(angle - 68.) < 2.)
276 if (fabs(angle - 90.) < 2.)
278 if (fabs(angle - 121.) < 2.)
280 if (fabs(angle - 164.) < 2.)
TH1F * _fHistoSecDkinE164
TH1F * _fHistoSecPkinE121
TH1F * _fHistoSecTkinE121
TH1F * _fHistoSecDkinE121
Detector simulation of raw signals on wires.
TH1F * _fHistoSecPkinE164
TH1F * _fHistoSecTkinE164
void artg4tk::CheckProtonProduction::beginJob |
( |
| ) |
|
|
overridevirtual |
Reimplemented from art::EDAnalyzer.
Definition at line 134 of file CheckProtonProduction_module.cc.
References _fHistoNSec, _fHistoSecDkinE, _fHistoSecDkinE121, _fHistoSecDkinE164, _fHistoSecDkinE54, _fHistoSecDkinE68, _fHistoSecDkinE90, _fHistoSecDMom, _fHistoSecDTheta, _fHistoSecPkinE, _fHistoSecPkinE121, _fHistoSecPkinE164, _fHistoSecPkinE54, _fHistoSecPkinE68, _fHistoSecPkinE90, _fHistoSecPMom, _fHistoSecPTheta, _fHistoSecTkinE, _fHistoSecTkinE121, _fHistoSecTkinE164, _fHistoSecTkinE54, _fHistoSecTkinE68, _fHistoSecTkinE90, _fHistoSecTMom, _fHistoSecTTheta, fDeltaThetaFW, fHistoSecProtonFW, fNThetaBinsFW, and fThetaMinFW.
137 _fHistoNSec = tfs->make<TH1F>(
"NSec",
"neutron + Cu", 100, 0., 100.);
140 tfs->make<TH1F>(
"pmomentum",
"neutron + Cu momentum of secondary protons", 100, 0., 600);
142 "pkinE54",
"neutron + Cu kinetic Energy of secondary protons (54)", 100, 0., 400.);
144 "pkinE68",
"neutron + Cu kinetis Energy of secondary protons (68)", 100, 0., 400.);
146 "pkinE90",
"neutron + Cu kinetic Energy of secondary protons (90)", 100, 0., 400.);
148 "pkinE121",
"neutron + Cu kinetic Energy of secondary protons (121)", 100, 0., 400);
150 "pkinE164",
"neutron + Cu kinetic Energy of secondary protons (168)", 100, 0., 400.);
152 tfs->make<TH1F>(
"pkinE",
"neutron + Cu kinetic Energy of secondary protons", 100, 0., 400.);
154 tfs->make<TH1F>(
"ptheta",
"neutron + Cu kin. theta of secondary protons", 100, 0., 3.2);
157 tfs->make<TH1F>(
"dmomentum",
"neutron + Cu momentum of secondary deuterons", 100, 0., 600);
159 "dkinE54",
"neutron + Cu kinetic Energy of secondary deuterons (54)", 100, 0., 400.);
161 "dkinE68",
"neutron + Cu kinetis Energy of secondary deuterons (68)", 100, 0., 400.);
163 "dkinE90",
"neutron + Cu kinetic Energy of secondary deuterons (90)", 100, 0., 400.);
165 "dkinE121",
"neutron + Cu kinetic Energy of secondary deuterons (121)", 100, 0., 400);
167 "dkinE164",
"neutron + Cu kinetic Energy of secondary deuterons (168)", 100, 0., 400.);
169 tfs->make<TH1F>(
"dkinE",
"neutron + Cu kinetic Energy of secondary deuterons", 100, 0., 400.);
171 tfs->make<TH1F>(
"dtheta",
"neutron + Cu kin. theta of secondary deuterons", 100, 0., 3.2);
174 tfs->make<TH1F>(
"tmomentum",
"neutron + Cu momentum of secondary tritons", 100, 0., 600);
176 "tkinE54",
"neutron + Cu kinetic Energy of secondary tritons (54)", 100, 0., 400.);
178 "tkinE68",
"neutron + Cu kinetis Energy of secondary tritons (68)", 100, 0., 400.);
180 "tkinE90",
"neutron + Cu kinetic Energy of secondary tritons (90)", 100, 0., 400.);
182 "tkinE121",
"neutron + Cu kinetic Energy of secondary tritons (121)", 100, 0., 400);
184 "tkinE164",
"neutron + Cu kinetic Energy of secondary tritons (168)", 100, 0., 400.);
186 tfs->make<TH1F>(
"tkinE",
"neutron + Cu kinetic Energy of secondary tritons", 100, 0., 400.);
188 tfs->make<TH1F>(
"ttheta",
"neutron + Cu kin. theta of secondary tritons", 100, 0., 3.2);
192 string ht =
"neutron + Cu";
194 double thetaMin = 0.;
195 double thetaMax = 0.;
196 std::string theta_bin_fw;
197 std::string theta_bin_la;
203 std::ostringstream osTitle1;
204 std::ostringstream osTitle2;
205 std::ostringstream osTitle3;
208 osTitle1 << thetaMin;
209 theta_bin_fw = osTitle1.str() +
" < theta < ";
211 osTitle2 << thetaMax;
212 theta_bin_fw += osTitle2.str();
213 theta_bin_fw +=
"(rad)";
218 htitle = ht +
" -> X + proton, " + theta_bin_fw;
219 hname =
"proton_fw_" + osTitle3.str();
220 TH1D* histo = tfs->make<TH1D>(hname.c_str(), htitle.c_str(), 80, 0., 8.0);
TH1F * _fHistoSecDkinE164
std::vector< TH1D * > fHistoSecProtonFW
TH1F * _fHistoSecPkinE121
TH1F * _fHistoSecTkinE121
TH1F * _fHistoSecDkinE121
TH1F * _fHistoSecPkinE164
TH1F * _fHistoSecTkinE164