File indexing completed on 2025-08-05 08:12:37
0001
0002 #ifndef __FILTEREVENTS_H__
0003 #define __FILTEREVENTS_H__
0004
0005 #include <fun4all/SubsysReco.h>
0006
0007 #include <TVector3.h>
0008
0009 class SvtxTrack;
0010 class SvtxTrackMap;
0011 class SvtxVertexMap_v1;
0012 class GlobalVertexMap;
0013 class RawCluster;
0014 class RawClusterContainer;
0015 class TrackSeedContainer;
0016 class TrkrClusterContainerv4;
0017
0018 class FilterEvents: public SubsysReco {
0019
0020 public:
0021
0022 FilterEvents(const std::string &name = "FilterEvents");
0023 virtual ~FilterEvents() {}
0024
0025 int Init(PHCompositeNode *topNode);
0026 int InitRun(PHCompositeNode *topNode);
0027 int process_event(PHCompositeNode *topNode);
0028 int End(PHCompositeNode *topNode);
0029
0030 void get_dca(SvtxTrack* track, SvtxVertexMap_v1* vertexmap,
0031 double& DCA, double& DCAxy);
0032 void get_dca_SvtxEval(SvtxTrack* track, SvtxVertexMap_v1* vertexmap,
0033 double& dca3dxy, double& dca3dz,
0034 double& dca3dxysigma, double& dca3dzsigma);
0035 void setCuts(double ptCut, double dcaCut, double chi2ndofCut, bool CEMCuse){
0036 pt_cut = ptCut;
0037 dca_cut = dcaCut;
0038 chi2ndof_cut = chi2ndofCut;
0039 CEMC_use = CEMCuse;
0040 };
0041
0042 protected:
0043
0044 int GetNodes(PHCompositeNode *topNode);
0045 TVector3 GetProjectionCEMC(SvtxTrack* track);
0046 RawCluster* MatchClusterCEMC(SvtxTrack* track, RawClusterContainer* cemc_clusters, double &dphi, double &deta, double Zvtx);
0047
0048 PHCompositeNode* _topNode;
0049 SvtxTrackMap* _trackmap;
0050 SvtxVertexMap_v1* _vtxmap;
0051
0052 RawClusterContainer* _cemc_clusters;
0053 TrackSeedContainer* _trackseedcontainer_svtx;
0054 TrackSeedContainer* _trackseedcontainer_silicon;
0055 TrackSeedContainer* _trackseedcontainer_tpc;
0056 TrkrClusterContainerv4* _trkrclusters;
0057
0058 SvtxTrackMap* _trackmap_ee;
0059 RawClusterContainer* _cemc_clusters_ee;
0060
0061 std::string outnodename_trackmap;
0062 std::string outnodename_cemc_clusters;
0063
0064 int EventNumber;
0065 int goodEventNumber;
0066
0067 double pt_cut;
0068 double dca_cut;
0069 double chi2ndof_cut;
0070
0071 bool CEMC_use;
0072 };
0073
0074 #endif
0075