Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:12:36

0001 
0002 #ifndef __PAIRMAKER_H__
0003 #define __PAIRMAKER_H__
0004 
0005 #include <fun4all/SubsysReco.h>
0006 
0007 #include "sPHElectronv1.h"
0008 
0009 #include <vector>
0010 
0011 class TFile;
0012 class TH1D;
0013 class TRandom;
0014 class SvtxTrack;
0015 class sPHElectronPairContainerv1;
0016 
0017 
0018 class PairMaker: public SubsysReco {
0019 
0020 public:
0021 
0022   PairMaker(const std::string &name = "PairMaker", const std::string &filename = "test.root");
0023   virtual ~PairMaker() {}
0024 
0025   int Init(PHCompositeNode *topNode);
0026   int InitRun(PHCompositeNode *topNode);
0027   int process_event(PHCompositeNode *topNode);
0028   int End(PHCompositeNode *topNode);
0029 
0030 protected:
0031 
0032   int process_event_test(PHCompositeNode *topNode);
0033   int MakeMixedPairs(std::vector<sPHElectronv1> elepos, sPHElectronPairContainerv1* eePairs, unsigned int centbin);
0034 
0035   bool isElectron(SvtxTrack*);
0036 
0037   std::string outnodename;
0038   static const int NZ = 2;
0039   static const int NCENT = 2;
0040   std::vector<sPHElectronv1> _buffer[NZ][NCENT];
0041   unsigned int _min_buffer_depth;
0042   unsigned int _max_buffer_depth;
0043   double _ZMAX;
0044   double _ZMIN;
0045   std::vector<double> _multbins;
0046 
0047   TRandom* _rng;
0048 
0049   int EventNumber;
0050 
0051 };
0052 
0053 #endif
0054