Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-12 08:33:58

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2025 Derek Anderson
0003 
0004 #pragma once
0005 
0006 #include <string>
0007 #include <vector>
0008 #include <Evaluator/DD4hepUnits.h>
0009 
0010 namespace eicrecon {
0011 
0012 struct CalorimeterClusterShapeConfig {
0013 
0014   //! determines if intrinsic theta/phi are calculated
0015   bool longitudinalShowerInfoAvailable = false;
0016 
0017   //! weighting method to use
0018   std::string energyWeight = "none";
0019 
0020   //! sampling fraction
0021   /*! if the fraction is applied *after* clustering, this
0022      *  parameter can be used to determine the total energy
0023      *  of the cluster before applying the fraction, which
0024      *  is a necessary input for the log-weight calculation.
0025      */
0026   double sampFrac = 1.;
0027 
0028   //! optional parameters for having the log weight base
0029   //! depend on the energy via
0030   //!
0031   //!     logweightBaseCoeffs[0]+logweightBaseCoeffs[1]*l...
0032   //!
0033   //! where l = log(clusterEnergy/logWeightBase_Eref).
0034   //! If this is empty, the logWeightBase parameter will
0035   //! be used for backwards compatibility.
0036   std::vector<double> logWeightBaseCoeffs{};
0037   double logWeightBase_Eref = 50 * dd4hep::MeV;
0038   double logWeightBase      = 3.6;
0039 
0040 }; // end CalorimeterClusterShapeConfig
0041 
0042 } // namespace eicrecon