42 #ifndef STROOT_STFMSPOINTMAKER_STFMSEVENTCLUSTERER_H_
43 #define STROOT_STFMSPOINTMAKER_STFMSEVENTCLUSTERER_H_
54 namespace FMSCluster {
55 class StFmsClusterFitter;
56 class StFmsFittedPhoton;
79 Int_t globalrefit, Int_t mergeSmallToLarge,
80 Int_t try1Photon, Int_t categorizationAlgo,
81 Float_t scaleShowerShapeLarge , Float_t scaleShowerShapeSmall,
82 Int_t showerShapeWithAngle ,
double vertexz);
98 Bool_t
cluster(std::vector<FMSCluster::StFmsTower>* towers);
99 #ifndef __CINT__ // Hide ClusterList from CINT as it uses C++11
103 const ClusterList&
clusters()
const {
return mClusters; }
107 #ifndef __CINT__ // Hide ClusterList from CINT as it uses C++11
109 typedef ClusterList::iterator ClusterIter;
111 typedef ClusterList::const_iterator ClusterConstIter;
137 Int_t findClusters();
143 Bool_t fitClusters();
149 Bool_t refitClusters();
162 Double_t photonEnergyInTower(
const StFmsTower* tower,
170 #ifndef __CINT__ // Hide Cluster(Const)Iter from CINT as it uses C++11
178 Double_t fit2PhotonCluster(ClusterIter
cluster);
188 Int_t fitAmbiguousCluster(ClusterIter
cluster);
205 Double_t fitGlobalClusters(
unsigned int nPhotons,
unsigned int nClusters,
217 bool validate2ndPhoton(ClusterConstIter
cluster)
const;
218 ClusterList mClusters;
219 std::unique_ptr<StFmsClusterFitter> mFitter;
224 std::vector<FMSCluster::StFmsTower>* mTowers;
225 std::vector<Double_t> mTowerWidthXY;
229 Int_t mMergeSmallToLarge;
230 Int_t mTry1PhotonFitWhen2PhotonFitFailed;
231 Int_t mCategorizationAlgo;
232 Float_t mScaleShowerShapeLarge;
233 Float_t mScaleShowerShapeSmall;
234 Int_t mShowerShapeWithAngle;
240 #endif // STROOT_STFMSPOINTMAKER_STFMSEVENTCLUSTERER_H_
Bool_t cluster(std::vector< FMSCluster::StFmsTower > *towers)
const ClusterList & clusters() const
Declaration of StFmsClusterFinder, an FMS tower clustering algorithm.
StFmsEventClusterer(StFmsDbMaker *db, Int_t detectorId, Int_t globalrefit, Int_t mergeSmallToLarge, Int_t try1Photon, Int_t categorizationAlgo, Float_t scaleShowerShapeLarge, Float_t scaleShowerShapeSmall, Int_t showerShapeWithAngle, double vertexz)