Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:45

0001 #ifndef RECOMET_METPRODUCERS_BEAMHALOSUMMARYPRODUCER_H
0002 #define RECOMET_METPRODUCERS_BEAMHALOSUMMARYPRODUCER_H
0003 
0004 /*
0005   [class]:  BeamHaloSummaryProducer
0006   [authors]: R. Remington, The University of Florida
0007   [description]: EDProducer which runs BeamHalo Id/Flagging algorithms and stores BeamHaloSummary object to the event. Inspiration for this implementation was taken from HcalNoisInfoProducer.cc by J.P Chou
0008   [date]: October 15, 2009
0009 */
0010 
0011 //Standard C++ classes
0012 #include <iostream>
0013 #include <string>
0014 #include <map>
0015 #include <vector>
0016 #include <utility>
0017 #include <ostream>
0018 #include <fstream>
0019 #include <algorithm>
0020 #include <cmath>
0021 #include <memory>
0022 #include <iomanip>
0023 #include <cstdlib>
0024 
0025 // user include files
0026 #include "FWCore/Utilities/interface/EDGetToken.h"
0027 #include "FWCore/Framework/interface/Frameworkfwd.h"
0028 #include "FWCore/Framework/interface/stream/EDProducer.h"
0029 #include "FWCore/Framework/interface/Event.h"
0030 #include "FWCore/Framework/interface/MakerMacros.h"
0031 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0032 
0033 #include "DataFormats/METReco/interface/CSCHaloData.h"
0034 #include "DataFormats/METReco/interface/EcalHaloData.h"
0035 #include "DataFormats/METReco/interface/HcalHaloData.h"
0036 #include "DataFormats/METReco/interface/GlobalHaloData.h"
0037 #include "DataFormats/METReco/interface/BeamHaloSummary.h"
0038 #include "DataFormats/EgammaCandidates/interface/Photon.h"
0039 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h"
0040 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0041 #include "DataFormats/Common/interface/Handle.h"
0042 #include "DataFormats/Common/interface/View.h"
0043 #include "DataFormats/Common/interface/TriggerResults.h"
0044 #include "FWCore/Framework/interface/Frameworkfwd.h"
0045 #include "FWCore/Framework/interface/Event.h"
0046 #include "FWCore/Framework/interface/MakerMacros.h"
0047 #include "FWCore/Framework/interface/EventSetup.h"
0048 #include "FWCore/Framework/interface/ESHandle.h"
0049 #include "FWCore/Framework/interface/stream/EDProducer.h"
0050 
0051 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0052 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0053 #include "FWCore/PluginManager/interface/ModuleDef.h"
0054 
0055 namespace reco {
0056   class BeamHaloSummaryProducer : public edm::stream::EDProducer<> {
0057   public:
0058     explicit BeamHaloSummaryProducer(const edm::ParameterSet&);
0059     ~BeamHaloSummaryProducer() override;
0060 
0061   private:
0062     void produce(edm::Event&, const edm::EventSetup&) override;
0063 
0064     edm::InputTag IT_CSCHaloData;
0065     edm::InputTag IT_EcalHaloData;
0066     edm::InputTag IT_HcalHaloData;
0067     edm::InputTag IT_GlobalHaloData;
0068 
0069     edm::EDGetTokenT<CSCHaloData> cschalodata_token_;
0070     edm::EDGetTokenT<EcalHaloData> ecalhalodata_token_;
0071     edm::EDGetTokenT<HcalHaloData> hcalhalodata_token_;
0072     edm::EDGetTokenT<GlobalHaloData> globalhalodata_token_;
0073 
0074     float L_EcalPhiWedgeEnergy;
0075     int L_EcalPhiWedgeConstituents;
0076     float L_EcalPhiWedgeToF;
0077     float L_EcalPhiWedgeConfidence;
0078     float L_EcalShowerShapesRoundness;
0079     float L_EcalShowerShapesAngle;
0080     int L_EcalSuperClusterSize;
0081     float L_EcalSuperClusterEnergy;
0082 
0083     float T_EcalPhiWedgeEnergy;
0084     int T_EcalPhiWedgeConstituents;
0085     float T_EcalPhiWedgeToF;
0086     float T_EcalPhiWedgeConfidence;
0087     float T_EcalShowerShapesRoundness;
0088     float T_EcalShowerShapesAngle;
0089     int T_EcalSuperClusterSize;
0090     float T_EcalSuperClusterEnergy;
0091 
0092     float L_HcalPhiWedgeEnergy;
0093     int L_HcalPhiWedgeConstituents;
0094     float L_HcalPhiWedgeToF;
0095     float L_HcalPhiWedgeConfidence;
0096 
0097     float T_HcalPhiWedgeEnergy;
0098     int T_HcalPhiWedgeConstituents;
0099     float T_HcalPhiWedgeToF;
0100     float T_HcalPhiWedgeConfidence;
0101 
0102     int problematicStripMinLength;
0103   };
0104 }  // namespace reco
0105 
0106 #endif