Back to home page

sPhenix code displayed by LXR

 
 

    


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   //GlobalVertexMap*     _global_vtxmap;
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