CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoTauTag/RecoTau/interface/CaloRecoTauAlgorithm.h

Go to the documentation of this file.
00001 #ifndef RecoTauTag_RecoTau_CaloRecoTauAlgorithm_H
00002 #define RecoTauTag_RecoTau_CaloRecoTauAlgorithm_H
00003 
00004 #include "FWCore/Framework/interface/Event.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 
00007 #include "DataFormats/EgammaReco/interface/BasicCluster.h" 
00008 #include "DataFormats/EgammaReco/interface/BasicClusterFwd.h" 
00009 #include "DataFormats/TauReco/interface/CaloTau.h"
00010 #include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
00011 #include "DataFormats/VertexReco/interface/Vertex.h"
00012 
00013 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00014 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00015 #include "Geometry/CaloTopology/interface/CaloTowerTopology.h"
00016 #include "DataFormats/DetId/interface/DetId.h"
00017 #include "DataFormats/EcalDetId/interface/EBDetId.h"
00018 #include "DataFormats/EcalDetId/interface/EEDetId.h"
00019 #include "DataFormats/EcalDetId/interface/ESDetId.h"
00020 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00021 
00022 #include "RecoTauTag/TauTagTools/interface/CaloTauElementsOperators.h"
00023 #include "RecoTauTag/TauTagTools/interface/TauTagTools.h"
00024 
00025 #include "RecoJets/JetProducers/interface/JetMatchingTools.h"
00026 
00027 #include "TrackingTools/IPTools/interface/IPTools.h"
00028 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h"
00029 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00030 
00031 class  CaloRecoTauAlgorithm  {
00032  public:
00033   CaloRecoTauAlgorithm();  
00034   CaloRecoTauAlgorithm(const edm::ParameterSet& iConfig);
00035   ~CaloRecoTauAlgorithm(){}
00036   void setTransientTrackBuilder(const TransientTrackBuilder*);
00037   void setMagneticField(const MagneticField*);
00038   reco::CaloTau buildCaloTau(edm::Event&,const edm::EventSetup&,const reco::CaloTauTagInfoRef&,const reco::Vertex&); 
00039   std::vector<DetId> mySelectedDetId_;
00040  private:
00041   std::vector<CaloTowerDetId> getCaloTowerneighbourDetIds(const CaloSubdetectorGeometry*,CaloTowerDetId);
00042   const TransientTrackBuilder* TransientTrackBuilder_;
00043   const MagneticField* MagneticField_;
00044   double LeadTrack_minPt_;
00045   double Track_minPt_;
00046   double IsolationTrack_minPt_;
00047   unsigned int IsolationTrack_minHits_;
00048   bool UseTrackLeadTrackDZconstraint_;
00049   double TrackLeadTrack_maxDZ_;
00050   double ECALRecHit_minEt_;
00051   std::string MatchingConeMetric_;
00052   std::string MatchingConeSizeFormula_;
00053   double MatchingConeSize_min_;
00054   double MatchingConeSize_max_;
00055   std::string TrackerSignalConeMetric_;
00056   std::string TrackerSignalConeSizeFormula_;
00057   double TrackerSignalConeSize_min_;
00058   double TrackerSignalConeSize_max_;
00059   std::string TrackerIsolConeMetric_;
00060   std::string TrackerIsolConeSizeFormula_;
00061   double TrackerIsolConeSize_min_;
00062   double TrackerIsolConeSize_max_;
00063   std::string ECALSignalConeMetric_;
00064   std::string ECALSignalConeSizeFormula_;
00065   double ECALSignalConeSize_min_;
00066   double ECALSignalConeSize_max_;
00067   std::string ECALIsolConeMetric_;
00068   std::string ECALIsolConeSizeFormula_;
00069   double ECALIsolConeSize_min_;
00070   double ECALIsolConeSize_max_;
00071   double AreaMetric_recoElements_maxabsEta_;
00072   const double chargedpi_mass_; //PDG Particle Physics Booklet, 2004
00073 
00074   TFormula myTrackerSignalConeSizeTFormula,myTrackerIsolConeSizeTFormula, myECALSignalConeSizeTFormula, myECALIsolConeSizeTFormula,myMatchingConeSizeTFormula; 
00075   
00076 edm::InputTag EBRecHitsLabel_,EERecHitsLabel_,ESRecHitsLabel_; 
00077 
00078 };
00079 #endif 
00080