CMS 3D CMS Logo

PFRecoTauDiscriminationAgainstElectron.h

Go to the documentation of this file.
00001 #ifndef RecoTauTag_RecoTau_PFRecoTauDiscriminationAgainstElectron_H_
00002 #define RecoTauTag_RecoTau_PFRecoTauDiscriminationAgainstElectron_H_
00003 
00004 /* class PFRecoTauDiscriminationAgainstElectron
00005  * created : May 02 2008,
00006  * revised : ,
00007  * Authorss : Chi Nhan Nguyen (Texas A&M)
00008  */
00009 
00010 #include "FWCore/Framework/interface/EDProducer.h"
00011 #include "FWCore/Framework/interface/ESHandle.h"
00012 #include "FWCore/Framework/interface/Event.h"
00013 #include "FWCore/Framework/interface/EventSetup.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 
00016 #include "DataFormats/TauReco/interface/PFTau.h"
00017 #include "DataFormats/TauReco/interface/PFTauDiscriminator.h"
00018 #include "DataFormats/TrackReco/interface/Track.h"
00019 
00020 #include "RecoTauTag/TauTagTools/interface/TauTagTools.h"
00021 
00022 using namespace std; 
00023 using namespace edm;
00024 using namespace edm::eventsetup; 
00025 using namespace reco;
00026 
00027 class PFRecoTauDiscriminationAgainstElectron : public EDProducer {
00028  public:
00029   explicit PFRecoTauDiscriminationAgainstElectron(const ParameterSet& iConfig){   
00030     PFTauProducer_        = iConfig.getParameter<InputTag>("PFTauProducer");
00031     emFraction_maxValue_  = iConfig.getParameter<double>("EmFraction_maxValue");  
00032     applyCut_emFraction_  = iConfig.getParameter<bool>("ApplyCut_EmFraction");
00033     hcalTotOverPLead_minValue_  = iConfig.getParameter<double>("HcalTotOverPLead_minValue");  
00034     applyCut_hcalTotOverPLead_  = iConfig.getParameter<bool>("ApplyCut_HcalTotOverPLead");
00035     hcalMaxOverPLead_minValue_  = iConfig.getParameter<double>("HcalMaxOverPLead_minValue");  
00036     applyCut_hcalMaxOverPLead_  = iConfig.getParameter<bool>("ApplyCut_HcalMaxOverPLead");
00037     hcal3x3OverPLead_minValue_  = iConfig.getParameter<double>("Hcal3x3OverPLead_minValue");  
00038 
00039     applyCut_hcal3x3OverPLead_  = iConfig.getParameter<bool>("ApplyCut_Hcal3x3OverPLead");
00040     EOverPLead_minValue_  = iConfig.getParameter<double>("EOverPLead_minValue");  
00041     EOverPLead_maxValue_  = iConfig.getParameter<double>("EOverPLead_maxValue");  
00042     applyCut_EOverPLead_  = iConfig.getParameter<bool>("ApplyCut_EOverPLead");
00043     bremsRecoveryEOverPLead_minValue_  = iConfig.getParameter<double>("BremsRecoveryEOverPLead_minValue");  
00044     bremsRecoveryEOverPLead_maxValue_  = iConfig.getParameter<double>("BremsRecoveryEOverPLead_maxValue");  
00045 
00046     applyCut_bremsRecoveryEOverPLead_  = iConfig.getParameter<bool>("ApplyCut_BremsRecoveryEOverPLead");
00047 
00048     applyCut_electronPreID_  = iConfig.getParameter<bool>("ApplyCut_ElectronPreID");
00049 
00050     applyCut_electronPreID_2D_  = iConfig.getParameter<bool>("ApplyCut_ElectronPreID_2D");
00051 
00052     elecPreID0_EOverPLead_maxValue  = iConfig.getParameter<double>("ElecPreID0_EOverPLead_maxValue");
00053     elecPreID0_HOverPLead_minValue  = iConfig.getParameter<double>("ElecPreID0_HOverPLead_minValue");
00054     elecPreID1_EOverPLead_maxValue  = iConfig.getParameter<double>("ElecPreID1_EOverPLead_maxValue");
00055     elecPreID1_HOverPLead_minValue  = iConfig.getParameter<double>("ElecPreID1_HOverPLead_minValue");
00056 
00057     applyCut_ecalCrack_  = iConfig.getParameter<bool>("ApplyCut_EcalCrackCut");
00058     
00059     produces<PFTauDiscriminator>();
00060   }
00061   ~PFRecoTauDiscriminationAgainstElectron(){} 
00062   virtual void produce(Event&, const EventSetup&);
00063  private:
00064   bool isInEcalCrack(double) const; 
00065   InputTag PFTauProducer_;
00066   bool applyCut_emFraction_;
00067   double emFraction_maxValue_;   
00068   bool applyCut_hcalTotOverPLead_;
00069   double hcalTotOverPLead_minValue_;   
00070   bool applyCut_hcalMaxOverPLead_;
00071   double hcalMaxOverPLead_minValue_;   
00072   bool applyCut_hcal3x3OverPLead_;
00073   double hcal3x3OverPLead_minValue_;   
00074 
00075   bool applyCut_EOverPLead_;
00076   double EOverPLead_minValue_;   
00077   double EOverPLead_maxValue_;   
00078   bool applyCut_bremsRecoveryEOverPLead_;
00079   double bremsRecoveryEOverPLead_minValue_;   
00080   double bremsRecoveryEOverPLead_maxValue_;   
00081 
00082   bool applyCut_electronPreID_;
00083 
00084   bool applyCut_electronPreID_2D_;
00085   double elecPreID0_EOverPLead_maxValue;
00086   double elecPreID0_HOverPLead_minValue;
00087   double elecPreID1_EOverPLead_maxValue;
00088   double elecPreID1_HOverPLead_minValue;
00089 
00090   bool applyCut_ecalCrack_;
00091 
00092 
00093 };
00094 #endif

Generated on Tue Jun 9 17:45:01 2009 for CMSSW by  doxygen 1.5.4