Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:13:27

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef MBDANALYSIS_H
0004 #define MBDANALYSIS_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 
0010 class PHCompositeNode;
0011 class TTree;
0012 class EventHeader;
0013 
0014 class mbdAnalysis : public SubsysReco
0015 {
0016  public:
0017 
0018   mbdAnalysis(const std::string &name = "mbdAnalysis");
0019 
0020   ~mbdAnalysis() override;
0021 
0022   /** Called during initialization.
0023       Typically this is where you can book histograms, and e.g.
0024       register them to Fun4AllServer (so they can be output to file
0025       using Fun4AllServer::dumpHistos() method).
0026    */
0027   int Init(PHCompositeNode *topNode) override;
0028 
0029   /** Called for first event when run number is known.
0030       Typically this is where you may want to fetch data from
0031       database, because you know the run number. A place
0032       to book histograms which have to know the run number.
0033    */
0034   int InitRun(PHCompositeNode *topNode) override;
0035 
0036   /** Called for each event.
0037       This is where you do the real work.
0038    */
0039   int process_event(PHCompositeNode *topNode) override;
0040 
0041   /// Clean up internals after each event.
0042   int ResetEvent(PHCompositeNode *topNode) override;
0043 
0044   /// Called at the end of each run.
0045   int EndRun(const int runnumber) override;
0046 
0047   /// Called at the end of all processing.
0048   int End(PHCompositeNode *topNode) override;
0049 
0050   /// Reset
0051   int Reset(PHCompositeNode * /*topNode*/) override;
0052 
0053   void Print(const std::string &what = "ALL") const override;
0054 
0055  private:
0056 
0057   TTree *T;
0058   //std::vector<float> adc;
0059   //std::vector<float> tdc0;
0060   //std::vector<float> tdc1;
0061   std::vector<float> pmtcharge;
0062   std::vector<float> pmttime;
0063   std::vector<float> pmtx;
0064   std::vector<float> pmty;
0065   std::vector<float> pmtz;
0066   std::vector<float> pmtr;
0067   std::vector<float> pmtphi;
0068   float cent;
0069   float vertex;
0070   float evtPlaneAngle;
0071 
0072   TFile *out;
0073   std::string Outfile = "commissioning.root";
0074 
0075 };
0076 
0077 #endif // MBDANALYSIS_H