Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:22

0001 #ifndef RecoParticleFlow_PFClusterProducer_PFRecHitQTestBase_h
0002 #define RecoParticleFlow_PFClusterProducer_PFRecHitQTestBase_h
0003 
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/Framework/interface/ESHandle.h"
0009 #include "FWCore/Framework/interface/ConsumesCollector.h"
0010 #include "DataFormats/ParticleFlowReco/interface/PFLayer.h"
0011 #include "DataFormats/Math/interface/Vector3D.h"
0012 #include "DataFormats/DetId/interface/DetId.h"
0013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0014 #include "FWCore/Framework/interface/ESHandle.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "DataFormats/ParticleFlowReco/interface/PFRecHit.h"
0017 #include "DataFormats/ParticleFlowReco/interface/PFRecHitFwd.h"
0018 
0019 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h"
0020 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
0021 #include "DataFormats/HcalRecHit/interface/HORecHit.h"
0022 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
0023 #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
0024 #include "DataFormats/HGCRecHit/interface/HGCRecHit.h"
0025 #include "CondFormats/HcalObjects/interface/HcalChannelQuality.h"
0026 #include "CondFormats/DataRecord/interface/HcalChannelQualityRcd.h"
0027 #include "DataFormats/METReco/interface/HcalCaloFlagLabels.h"
0028 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalSeverityLevelComputer.h"
0029 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalSeverityLevelComputerRcd.h"
0030 
0031 class PFRecHitQTestBase {
0032 public:
0033   PFRecHitQTestBase() = default;
0034   PFRecHitQTestBase(const edm::ParameterSet& iConfig, edm::ConsumesCollector& cc) {}
0035   virtual ~PFRecHitQTestBase() = default;
0036 
0037   virtual void beginEvent(const edm::Event&, const edm::EventSetup&) = 0;
0038 
0039   virtual bool test(reco::PFRecHit&, const EcalRecHit&, bool&, bool) = 0;
0040   virtual bool test(reco::PFRecHit&, const HBHERecHit&, bool&) = 0;
0041   virtual bool test(reco::PFRecHit&, const HFRecHit&, bool&) = 0;
0042   virtual bool test(reco::PFRecHit&, const HORecHit&, bool&) = 0;
0043   virtual bool test(reco::PFRecHit&, const CaloTower&, bool&) = 0;
0044   virtual bool test(reco::PFRecHit&, const HGCRecHit&, bool&) = 0;
0045 };
0046 
0047 #include "FWCore/PluginManager/interface/PluginFactory.h"
0048 typedef edmplugin::PluginFactory<PFRecHitQTestBase*(const edm::ParameterSet&, edm::ConsumesCollector&)>
0049     PFRecHitQTestFactory;
0050 #endif