CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/RecoParticleFlow/PFRootEvent/interface/FWLiteJetProducer.h

Go to the documentation of this file.
00001 #ifndef Demo_PFRootEvent_FWLiteJetProducer_h
00002 #define Demo_PFRootEvent_FWLiteJetProducer_h
00003 
00004 #include "DataFormats/JetReco/interface/BasicJet.h"
00005 #include "DataFormats/JetReco/interface/CaloJet.h"
00006 #include "DataFormats/JetReco/interface/GenJet.h"
00007 #include "DataFormats/JetReco/interface/BasicJetCollection.h"
00008 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00009 #include "DataFormats/JetReco/interface/GenJetCollection.h"
00010 #include "DataFormats/RecoCandidate/interface/RecoCaloTowerCandidate.h" 
00011 #include "RecoParticleFlow/PFRootEvent/interface/CMSIterativeConeAlgorithm.h"
00012 #include "RecoParticleFlow/PFRootEvent/interface/CMSMidpointAlgorithm.h"
00013 #include "RecoParticleFlow/PFRootEvent/interface/FastJetFWLiteWrapper.h"
00014 #include "RecoParticleFlow/PFRootEvent/interface/JetRecoTypes.h"
00015 
00016 // #include "FWCore/Framework/interface/OrphanHandle.h"
00017 #include "DataFormats/Common/interface/OrphanHandle.h"
00018 // #include "DataFormats/Common/interface/ProductID.h"
00019 #include "DataFormats/Provenance/interface/ProductID.h"
00020 
00021 class Utils;
00022 class FWLiteJetProducer{
00027  public:
00029   FWLiteJetProducer();  
00031   ~FWLiteJetProducer();
00034   void applyCuts( const reco::CandidatePtrVector& Candidates, 
00035                   JetReco::InputCollection* input );         
00037   void makeIterativeConeJets(const JetReco::InputCollection& fInput, 
00038                              JetReco::OutputCollection* fOutput);
00040   void makeFastJets(const JetReco::InputCollection& fInput, 
00041                     JetReco::OutputCollection* fOutput);
00043   void makeMidpointJets(const JetReco::InputCollection& fInput, 
00044                         JetReco::OutputCollection* fOutput);
00045   void print();
00046   void updateParameter();
00048   CMSIterativeConeAlgorithm* algoIC_;   
00049   FastJetFWLiteWrapper algoF_;
00050   CMSMidpointAlgorithm* algoMC_;
00051 
00052   // Get methods --------------------------------------------
00054   double getmEtInputCut(){return mEtInputCut_;}
00056   double getmEInputCut(){return mEInputCut_;}
00058   double getSeedThreshold(){return seedThreshold_;}
00060   double  getConeRadius(){return coneRadius_;}
00062   double getConeAreaFraction(){return coneAreaFraction_;}
00064   int getMaxPairSize(){return maxPairSize_;}
00066   int getMaxIterations(){return maxIterations_;} 
00068   double getOverlapThreshold(){return overlapThreshold_;}
00070   double getPtMin (){return ptMin_ ;}
00072   double getRParam(){return  rparam_;}
00074   bool getDebug(){return  debug_;}
00075 
00076   // Set methods --------------------------------------------   
00078   void setmEtInputCut (double amEtInputCut){mEtInputCut_=amEtInputCut;}
00080   void setmEInputCut (double amEInputCut){mEInputCut_=amEInputCut;}
00082   void setSeedThreshold(double aSeedThreshold) {seedThreshold_=aSeedThreshold;}
00084   void setConeRadius(double aConeRadius) {coneRadius_=aConeRadius;}
00086   void setConeAreaFraction(double aConeAreaFraction) {coneAreaFraction_=aConeAreaFraction;}
00088   void setMaxPairSize(int aMaxPairSize) {maxPairSize_=aMaxPairSize;}
00090   void setMaxIterations(int amaxIteration) {maxIterations_=amaxIteration;}
00092   void setOverlapThreshold(double aOverlapThreshold) {overlapThreshold_=aOverlapThreshold;}
00093   void setPtMin (double aPtMin){ptMin_=aPtMin;}
00094   void setRParam (double aRparam){rparam_=aRparam;}
00095   void setDebug(bool aDebug){debug_=aDebug;}  
00096 
00097   // jets parameters ----------------------------------------
00098  private:       
00100   double mEtInputCut_;
00102   double mEInputCut_ ;
00104   double seedThreshold_;
00106   double coneRadius_;
00108   double coneAreaFraction_;
00110   int maxPairSize_;
00112   int maxIterations_;
00114   double overlapThreshold_;
00115   double ptMin_;
00116   double rparam_;
00117   bool debug_;
00118   
00119 };
00120 #endif