eventAnalysis  7.0-49-g0ac7482
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TECALTestbeamModule.cxx
Go to the documentation of this file.
1 #include "TDatum.hxx"
2 #include "TPrincipal.h"
3 #include "TRealDatum.hxx"
4 
6 
7 
8 #include "../cvstags/TECALTestbeamModule.cxx"
9 
11  const char* title) {
12  SetNameTitle(name, title);
13  // Enable this module by default:
14  fIsEnabled = kTRUE;
15  fDescription = "ECALTestbeam recon output";
17  fCVSID = CVSID;
18 }
19 
21 
22 Bool_t ND::TECALTestbeamModule::ProcessFirstEvent(ND::TND280Event& event) {
23  return true;
24 }
25 
27 
29  fOutputTree->Branch("Cerenkov1Lo", &Cerenkov1Lo, "Cerenkov1Lo[23]/I");
30  fOutputTree->Branch("Cerenkov1Hi", &Cerenkov1Hi, "Cerenkov1Hi[23]/I");
31  fOutputTree->Branch("Cerenkov2Lo", &Cerenkov2Lo, "Cerenkov2Lo[23]/I");
32  fOutputTree->Branch("Cerenkov2Hi", &Cerenkov2Hi, "Cerenkov2Hi[23]/I");
33  fOutputTree->Branch("TOF", &TOF, "TOF[23]/I");
34  fOutputTree->Branch("TriggerWord", &TriggerWord, "TriggerWord/I");
35 
36  fOutputTree->Branch("TestBeamPID", &PIDResult, "PIDResult/I");
37  fOutputTree->Branch("TestBeamMomentum", &Momentum, "Momentum/D");
38  fOutputTree->Branch("TestBeamAngle", &Angle, "Angle/I");
39 }
40 
41 bool ND::TECALTestbeamModule::FillTree(ND::TND280Event& event) {
42  ND::THandle<ND::TIntegerDatum> Ch1Lo =
43  event.Get<ND::TIntegerDatum>("Cerenkov1Lo");
44  ND::THandle<ND::TIntegerDatum> Ch2Lo =
45  event.Get<ND::TIntegerDatum>("Cerenkov2Lo");
46  ND::THandle<ND::TIntegerDatum> Ch1Hi =
47  event.Get<ND::TIntegerDatum>("Cerenkov1Hi");
48  ND::THandle<ND::TIntegerDatum> Ch2Hi =
49  event.Get<ND::TIntegerDatum>("Cerenkov2Hi");
50  ND::THandle<ND::TIntegerDatum> TOFLo =
51  event.Get<ND::TIntegerDatum>("TOFHighGain");
52  ND::THandle<ND::TIntegerDatum> TOFHi =
53  event.Get<ND::TIntegerDatum>("TOFLowGain");
54  ND::THandle<ND::TIntegerDatum> TWord =
55  event.Get<ND::TIntegerDatum>("TriggerWord");
56 
57  for (int i = 0; i < 23; ++i) {
58  Cerenkov1Lo[i] = Ch1Lo->at(i);
59  Cerenkov1Hi[i] = Ch2Lo->at(i);
60  Cerenkov2Lo[i] = Ch1Hi->at(i);
61  Cerenkov2Hi[i] = Ch2Hi->at(i);
62  TOF[i] = TOFLo->at(i);
63  }
64 
65  TriggerWord = TWord->GetValue();
66 
67  ND::THandle<ND::TIntegerDatum> pidResultDatum =
68  event.Get<ND::TIntegerDatum>("testBeamPID");
69  ND::THandle<ND::TIntegerDatum> angleDatum =
70  event.Get<ND::TIntegerDatum>("testBeamAngle");
71  ND::THandle<ND::TRealDatum> momentumDatum =
72  event.Get<ND::TRealDatum>("testBeamMomentum");
73 
74  PIDResult = pidResultDatum->GetValue();
75  Momentum = momentumDatum->GetValue();
76  Angle = angleDatum->GetValue();
77 
78  return true;
79 }
virtual void InitializeBranches()
Initialize Branches. Don&#39;t do anything else in this function.
#define CVSID
std::string fDescription
A longish descrition of the analysis.
virtual void InitializeModule()
Initialize Module, override if necessary.
std::string fCVSID
Defined if an official tagged version.
void SetNameTitle(char const *name, char const *title)
virtual bool FillTree(ND::TND280Event &)
Fill all the stuff that goes in the output tree.
std::string fCVSTagName
Defined if an official tagged version.
#define CVSTAG
TECALTestbeamModule(const char *name="ECalTestbeam", const char *title="ECal Testbeam Module")
virtual Bool_t ProcessFirstEvent(ND::TND280Event &event)
Is called after the first event is loaded in.

Package Summary
Package Name: eventAnalysis
Package Version: 7.0-49-g0ac7482
Package Manager:

Generated on Mon Mar 25 2024 14:43:58 for eventAnalysis by doxygen 1.8.5