File indexing completed on 2024-04-06 12:07:19
0001 #ifndef RecoSummaryTask_H
0002 #define RecoSummaryTask_H
0003
0004 #include "DQWorkerTask.h"
0005
0006 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0007 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
0008 #include "DataFormats/CaloRecHit/interface/CaloCluster.h"
0009 #include "DataFormats/Common/interface/View.h"
0010
0011 namespace ecaldqm {
0012
0013 class RecoSummaryTask : public DQWorkerTask {
0014 public:
0015 RecoSummaryTask();
0016 ~RecoSummaryTask() override {}
0017
0018 bool filterRunType(short const*) override;
0019
0020 void addDependencies(DependencySet&) override;
0021
0022 bool analyze(void const*, Collections) override;
0023 void endEvent(edm::Event const&, edm::EventSetup const&) override;
0024
0025 void runOnRecHits(EcalRecHitCollection const&, Collections);
0026 void runOnReducedRecHits(EcalRecHitCollection const&, Collections);
0027 void runOnBasicClusters(edm::View<reco::CaloCluster> const&, Collections);
0028
0029 private:
0030 void setParams(edm::ParameterSet const&) override;
0031
0032 float rechitThresholdEB_;
0033 float rechitThresholdEE_;
0034 EcalRecHitCollection const* ebHits_;
0035 EcalRecHitCollection const* eeHits_;
0036 bool fillRecoFlagReduced_;
0037 };
0038
0039 inline bool RecoSummaryTask::analyze(void const* _p, Collections _collection) {
0040 switch (_collection) {
0041 case kEBRecHit:
0042 case kEERecHit:
0043 if (_p)
0044 runOnRecHits(*static_cast<EcalRecHitCollection const*>(_p), _collection);
0045 return true;
0046 break;
0047 case kEBReducedRecHit:
0048 case kEEReducedRecHit:
0049 if (_p && fillRecoFlagReduced_)
0050 runOnReducedRecHits(*static_cast<EcalRecHitCollection const*>(_p), _collection);
0051 return fillRecoFlagReduced_;
0052 break;
0053 case kEBBasicCluster:
0054 case kEEBasicCluster:
0055 if (_p)
0056 runOnBasicClusters(*static_cast<edm::View<reco::CaloCluster> const*>(_p), _collection);
0057 return true;
0058 break;
0059 default:
0060 break;
0061 }
0062 return false;
0063 }
0064
0065 }
0066
0067 #endif