OpFlashAnaAlg.h
Go to the documentation of this file.
1 #ifndef OPFLASHANAALG_H
2 #define OPFLASHANAALG_H
3 
4 /*!
5  * Title: OpFlashAnaAlg Class
6  * Author: Wes Ketchum (wketchum@lanl.gov)
7  *
8  * Description:
9  * Alg that stores flash information in a handy tree.
10  *
11 */
12 
13 #include <vector>
14 #include <string>
15 
16 #include "TH1.h"
17 class TTree;
18 
21 
22 namespace opdet{
23 
25 
26  public:
27 
29  void SetOpFlashTree(TTree*, bool makeOpDetPEHist=true);
30  void SetOpHitTree(TTree*);
31 
32  void FillOpFlashes(const std::vector<recob::OpFlash>&);
33  void FillOpHits(const std::vector<recob::OpHit>&);
34 
35  private:
36 
38  double FlashTime;
40  double FlashAbsTime;
41  double FlashY;
42  double FlashYWidth;
43  double FlashZ;
44  double FlashZWidth;
46  double FlashTotalPE;
47  unsigned int FlashFrame;
50 
52 
55  : LeafList("time/D:timewidth/D:abstime/D:y/D:ywidth/D:z/D:zwidth/D:fasttototal/D:totalpe/D:onbeamtime/I:frame/i:inbeamframe/O")
56  { FlashOpDetPEHist = new TH1D(); }
58  };
59 
62 
63  TTree* fOpFlashTree;
64  void FillOpFlashTree(const std::vector<recob::OpFlash>&);
65 
66 
67  struct HitAnaStruct{
68  double HitPeakTime;
70  double HitWidth;
71  double HitArea;
72  double HitAmplitude;
74  double HitPE;
75  unsigned int HitFrame;
77 
80  : LeafList("time/D:abstime/D:width/D:area/D:amplitude/D:fasttototal/D:pe/D:frame/I:opchannel/i")
81  { }
82  };
84 
85  TTree* fOpHitTree;
86  void FillOpHitTree(const std::vector<recob::OpHit>&);
87 
88  };
89 
90 }
91 
92 #endif
void FillOpFlashes(const std::vector< recob::OpFlash > &)
std::string string
Definition: nybbler.cc:12
void FillOpHits(const std::vector< recob::OpHit > &)
void SetOpFlashTree(TTree *, bool makeOpDetPEHist=true)
FlashAnaStruct fOpFlashAnaStruct
Definition: OpFlashAnaAlg.h:60
void SetOpHitTree(TTree *)
HitAnaStruct fOpHitAnaStruct
Definition: OpFlashAnaAlg.h:83
void FillOpFlashTree(const std::vector< recob::OpFlash > &)
void FillOpHitTree(const std::vector< recob::OpHit > &)