CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/RecoTauTag/HLTProducers/interface/L2TauIsolationProducer.h

Go to the documentation of this file.
00001 /*
00002 L2 Tau Trigger Isolation Producer
00003 
00004 Author: Michail Bachtis
00005 University of Wisconsin-Madison
00006 e-mail: bachtis@hep.wisc.edu
00007 */
00008 
00009 
00010 // system include files
00011 #include <memory>
00012 
00013 // user include files
00014 #include "FWCore/Framework/interface/Frameworkfwd.h"
00015 #include "FWCore/Framework/interface/EDProducer.h"
00016 #include "FWCore/Framework/interface/Event.h"
00017 #include "FWCore/Framework/interface/EventSetup.h"
00018 #include "FWCore/Framework/interface/MakerMacros.h"
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 #include "FWCore/Framework/interface/ESHandle.h"
00021 
00022 #include "DataFormats/Math/interface/LorentzVector.h"
00023 #include "DataFormats/Math/interface/LorentzVectorFwd.h"
00024 #include "DataFormats/JetReco/interface/CaloJet.h"
00025 #include "DataFormats/TauReco/interface/L2TauInfoAssociation.h"
00026 
00027 
00028 //Calorimeter!!
00029 #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
00030 #include "DataFormats/DetId/interface/DetId.h"
00031 #include "DataFormats/EgammaReco/interface/BasicCluster.h"
00032 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
00033 
00034 #include "DataFormats/CaloTowers/interface/CaloTowerDetId.h" 
00035 #include "DataFormats/EcalDetId/interface/EBDetId.h"
00036 #include "DataFormats/EcalDetId/interface/EEDetId.h"
00037 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00038 
00039 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00040 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00041 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00042 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
00043 
00044 // Math
00045 #include "Math/GenVector/VectorUtil.h"
00046 #include "Math/GenVector/PxPyPzE4D.h"
00047 
00048 
00049 
00050 
00051 
00052 
00053 class L2TauIsolationProducer : public edm::EDProducer {
00054    public:
00055       explicit L2TauIsolationProducer(const edm::ParameterSet&);
00056       ~L2TauIsolationProducer();
00057 
00058    private:
00059       virtual void beginJob() ;
00060       virtual void produce(edm::Event&, const edm::EventSetup&);
00061       virtual void endJob() ;
00062 
00063 
00064       //Retrieve Calo Hits 
00065       math::PtEtaPhiELorentzVectorCollection getECALHits(const reco::CaloJet&,const edm::Event&,const edm::EventSetup& iSetup); 
00066       math::PtEtaPhiELorentzVectorCollection getHCALHits(const reco::CaloJet&);
00067 
00068       edm::InputTag l2CaloJets_;//label for the readout Collection
00069       edm::InputTag EBRecHits_;//Label for ECAL Barrel Hits
00070       edm::InputTag EERecHits_;//Label for ECAL EndCAP Hits
00071 
00072 
00073       //Thresholding
00074       double crystalThreshold_;
00075       double towerThreshold_;
00076 
00077 
00078       //Sub Algorithm Configuration Variables
00079 
00080       //ECALIsolation
00081       bool ECALIsolation_run_;
00082 
00083       double ECALIsolation_innerCone_;
00084       double ECALIsolation_outerCone_;
00085 
00086       //TowerIsolation
00087       bool TowerIsolation_run_;
00088 
00089       double TowerIsolation_innerCone_;
00090       double TowerIsolation_outerCone_;
00091 
00092       //ECALClustering
00093       bool ECALClustering_run_;
00094       double ECALClustering_clusterRadius_;
00095 
00096       
00097 
00098       
00099 
00100 
00101 };
00102