File indexing completed on 2024-04-06 12:11:50
0001 #ifndef _FWPFCLUSTERRPZUTILS_H_
0002 #define _FWPFCLUSTERRPZUTILS_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include "TEveScalableStraightLineSet.h"
0018
0019
0020 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
0021 #include "Fireworks/Core/interface/FWEventItem.h"
0022 #include "Fireworks/Core/interface/FWViewEnergyScale.h"
0023 #include "Fireworks/Core/interface/FWViewContext.h"
0024 #include "Fireworks/ParticleFlow/interface/FWPFMaths.h"
0025
0026 struct ScalableLines {
0027 ScalableLines(TEveScalableStraightLineSet *ls, float et, float e, const FWViewContext *vc)
0028 : m_ls(ls), m_et(et), m_energy(e), m_vc(vc) {}
0029
0030 TEveScalableStraightLineSet *m_ls;
0031 float m_et, m_energy;
0032 const FWViewContext *m_vc;
0033 };
0034
0035
0036
0037
0038 class FWPFClusterRPZUtils {
0039 public:
0040
0041 FWPFClusterRPZUtils() {}
0042 virtual ~FWPFClusterRPZUtils() {}
0043
0044
0045 TEveScalableStraightLineSet *buildRhoPhiClusterLineSet(const reco::PFCluster &, const FWViewContext *, float r);
0046 TEveScalableStraightLineSet *buildRhoPhiClusterLineSet(
0047 const reco::PFCluster &, const FWViewContext *, float e, float et, float r);
0048 TEveScalableStraightLineSet *buildRhoZClusterLineSet(
0049 const reco::PFCluster &, const FWViewContext *, float caloTransAngle, float r, float z);
0050 TEveScalableStraightLineSet *buildRhoZClusterLineSet(
0051 const reco::PFCluster &, const FWViewContext *, float caloTransAngle, float e, float et, float r, float z);
0052
0053 FWPFClusterRPZUtils(const FWPFClusterRPZUtils &) = delete;
0054 const FWPFClusterRPZUtils &operator=(const FWPFClusterRPZUtils &) = delete;
0055 };
0056 #endif
0057