Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:56

0001 #ifndef G4EVAL_JETEVALSTACK_H
0002 #define G4EVAL_JETEVALSTACK_H
0003 
0004 #include "JetRecoEval.h"
0005 
0006 #include <string>
0007 
0008 class CaloEvalStack;
0009 class JetTruthEval;
0010 class SvtxEvalStack;
0011 class PHCompositeNode;
0012 
0013 // This user class provides pointers to the
0014 // full set of jet evaluators and
0015 // protects the user from future introduction
0016 // of new eval heirachies (new eval objects can
0017 // be introduced without rewrites)
0018 
0019 class JetEvalStack
0020 {
0021  public:
0022   JetEvalStack(PHCompositeNode* topNode,
0023                const std::string& recojetname,
0024                const std::string& truthjetname);
0025   virtual ~JetEvalStack() {}
0026 
0027   void next_event(PHCompositeNode* topNode);
0028   void do_caching(bool do_cache) { _recoeval.do_caching(do_cache); }
0029   void set_strict(bool strict) { _recoeval.set_strict(strict); }
0030   void set_verbosity(int verbosity) { _recoeval.set_verbosity(verbosity); }
0031 
0032   JetRecoEval* get_reco_eval() { return &_recoeval; }
0033   JetTruthEval* get_truth_eval() { return _recoeval.get_truth_eval(); }
0034 
0035   SvtxEvalStack* get_stvx_eval_stack() { return _recoeval.get_svtx_eval_stack(); }
0036   CaloEvalStack* get_cemc_eval_stack() { return _recoeval.get_cemc_eval_stack(); }
0037   CaloEvalStack* get_hcalin_eval_stack() { return _recoeval.get_hcalin_eval_stack(); }
0038   CaloEvalStack* get_hcalout_eval_stack() { return _recoeval.get_hcalout_eval_stack(); }
0039   CaloEvalStack* get_femc_eval_stack() { return _recoeval.get_femc_eval_stack(); }
0040   CaloEvalStack* get_fhcal_eval_stack() { return _recoeval.get_fhcal_eval_stack(); }
0041 
0042  private:
0043   JetRecoEval _recoeval;
0044 };
0045 
0046 #endif  // G4EVAL_JETEVALSTACK_H