LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
OpFlashAnaAlg.h
Go to the documentation of this file.
1 #ifndef OPFLASHANAALG_H
2 #define OPFLASHANAALG_H
3 
13 #include <string>
14 #include <vector>
15 
16 #include "TH1.h"
17 class TTree;
18 
21 
22 namespace opdet {
23 
24  class OpFlashAnaAlg {
25 
26  public:
28  void SetOpFlashTree(TTree*, bool makeOpDetPEHist = true);
29  void SetOpHitTree(TTree*);
30 
31  void FillOpFlashes(const std::vector<recob::OpFlash>&);
32  void FillOpHits(const std::vector<recob::OpHit>&);
33 
34  private:
35  struct FlashAnaStruct {
36  double FlashTime;
38  double FlashAbsTime;
39  double FlashY;
40  double FlashYWidth;
41  double FlashZ;
42  double FlashZWidth;
44  double FlashTotalPE;
45  unsigned int FlashFrame;
48 
50 
51  std::string LeafList;
53  : LeafList("time/D:timewidth/D:abstime/D:y/D:ywidth/D:z/D:zwidth/D:fasttototal/D:totalpe/"
54  "D:onbeamtime/I:frame/i:inbeamframe/O")
55  {
56  FlashOpDetPEHist = new TH1D();
57  }
59  };
60 
63 
64  TTree* fOpFlashTree;
65  void FillOpFlashTree(const std::vector<recob::OpFlash>&);
66 
67  struct HitAnaStruct {
68  double HitPeakTime;
70  double HitWidth;
71  double HitArea;
72  double HitAmplitude;
74  double HitPE;
75  unsigned int HitFrame;
77 
78  std::string LeafList;
80  : LeafList(
81  "time/D:abstime/D:width/D:area/D:amplitude/D:fasttototal/D:pe/D:frame/I:opchannel/i")
82  {}
83  };
85 
86  TTree* fOpHitTree;
87  void FillOpHitTree(const std::vector<recob::OpHit>&);
88  };
89 
90 }
91 
92 #endif
void FillOpFlashes(const std::vector< recob::OpFlash > &)
void FillOpHits(const std::vector< recob::OpHit > &)
void SetOpFlashTree(TTree *, bool makeOpDetPEHist=true)
FlashAnaStruct fOpFlashAnaStruct
Definition: OpFlashAnaAlg.h:61
void SetOpHitTree(TTree *)
HitAnaStruct fOpHitAnaStruct
Definition: OpFlashAnaAlg.h:84
void FillOpFlashTree(const std::vector< recob::OpFlash > &)
void FillOpHitTree(const std::vector< recob::OpHit > &)