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