Back to home page

sPhenix code displayed by LXR

 
 

    


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 * /*topNode*/) 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