File indexing completed on 2025-08-05 08:11:14
0001
0002 #ifndef CALOEMULATORTREEMAKER_H
0003 #define CALOEMULATORTREEMAKER_H
0004
0005 #include <fun4all/SubsysReco.h>
0006
0007 #include <string>
0008 #include <vector>
0009 #include <ffarawobjects/Gl1Packet.h>
0010 #include <ffarawobjects/Gl1Packetv1.h>
0011 #include <ffarawobjects/Gl1Packetv2.h>
0012 #include <calotrigger/LL1Out.h>
0013 #include <calotrigger/LL1Outv1.h>
0014 #include <calotrigger/TriggerPrimitive.h>
0015 #include <calotrigger/TriggerPrimitivev1.h>
0016 #include <calotrigger/TriggerPrimitiveContainer.h>
0017 #include <calotrigger/TriggerPrimitiveContainerv1.h>
0018 #include <calotrigger/TriggerDefs.h>
0019
0020 #include "TTree.h"
0021 #include "TFile.h"
0022
0023
0024 class PHCompositeNode;
0025 class TriggerPrimitive;
0026 class TriggerPrimitiveContainer;
0027 class LL1Out;
0028 class TowerInfoContainer;
0029 class MbdEmulatorTreeMaker : public SubsysReco
0030 {
0031 public:
0032
0033 MbdEmulatorTreeMaker(const std::string &name = "MbdEmulatorTreeMaker", const std::string &outfilename = "trees_caloemulator.root");
0034
0035 virtual ~MbdEmulatorTreeMaker();
0036
0037 int Init(PHCompositeNode *topNode) override;
0038
0039 int InitRun(PHCompositeNode *topNode) override;
0040
0041 int process_event(PHCompositeNode *topNode) override;
0042
0043 void GetNodes (PHCompositeNode *topNode);
0044
0045 int ResetEvent(PHCompositeNode *topNode) override;
0046
0047 int EndRun(const int runnumber) override;
0048
0049 int End(PHCompositeNode *topNode) override;
0050
0051 int Reset(PHCompositeNode * ) override;
0052
0053 void SetVerbosity(int verbo) ;
0054
0055 private:
0056 void reset_tree_vars();
0057
0058 int _verbosity;
0059
0060 TFile *_f;
0061 TTree *_tree;
0062 std::string _foutname;
0063 std::string _nodename;
0064
0065 int _i_event;
0066
0067 LL1Out *_ll1out_mbd;
0068 Gl1Packet *_gl1_packet;
0069 TriggerPrimitive *_trigger_primitive;
0070 TriggerPrimitiveContainer *_trigger_primitives_mbd;
0071
0072 unsigned int b_trigger_charge_sum[4*8]{0};
0073 unsigned int b_trigger_nhit[4]{0};
0074 unsigned int b_trigger_time_sum[4*4]{0};
0075
0076 unsigned int b_trigger_south_tavg{0};
0077 unsigned int b_trigger_south_nhit{0};
0078 unsigned int b_trigger_north_tavg{0};
0079 unsigned int b_trigger_north_nhit{0};
0080 unsigned int b_trigger_vertex_sub{0};
0081 unsigned int b_trigger_vertex_add{0};
0082 uint64_t b_gl1_rawvec;
0083 uint64_t b_gl1_livevec;
0084 uint64_t b_gl1_scaledvec;
0085 uint64_t b_gl1_clock;
0086 uint64_t b_gl1_raw[64];
0087 uint64_t b_gl1_live[64];
0088 uint64_t b_gl1_scaled[64];
0089 float b_vertex_z;
0090 };
0091
0092 #endif