CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/Validation/RecoJets/plugins/JPTJetTester.h

Go to the documentation of this file.
00001 #ifndef ValidationRecoJetsJPTJetTester_h
00002 #define ValidationRecoJetsJPTJetTester_h
00003 
00004 // Producer for validation histograms for JPTJet objects
00005 // F. Ratnikov, Sept. 7, 2006
00006 // Modified by J F Novak July 10, 2008
00007 // $Id: JPTJetTester.h,v 1.1 2010/03/20 14:28:07 hatake Exp $
00008 
00009 #include <string>
00010 
00011 #include "FWCore/Framework/interface/EDAnalyzer.h"
00012 #include "DQMServices/Core/interface/MonitorElement.h"
00013 
00014 namespace reco {
00015   class JPTJet;
00016   class GenJet;
00017 }
00018 
00019 class MonitorElement;
00020 
00021 class JPTJetTester : public edm::EDAnalyzer {
00022 public:
00023 
00024   JPTJetTester (const edm::ParameterSet&);
00025   ~JPTJetTester();
00026 
00027   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00028   virtual void beginJob() ;
00029   virtual void endJob() ;
00030  
00031 private:
00032   
00033   void fillMatchHists (const reco::GenJet& fGenJet, const reco::JPTJet& fJPTJet);
00034   double getSumPt (const reco::TrackRefVector& tracks);
00035 
00036   edm::InputTag mInputCollection;
00037   edm::InputTag mInputGenCollection;
00038   std::string mOutputFile;
00039   edm::InputTag inputMETLabel_;
00040   std::string METType_;
00041   std::string inputGenMETLabel_;
00042   std::string inputCaloMETLabel_;
00043 
00044   // count number of events
00045   MonitorElement* numberofevents;
00046 
00047   // Generic Jet Parameters
00048   MonitorElement* mEta;
00049   MonitorElement* mEtaFineBin;
00050   MonitorElement* mEtaFineBin1p;
00051   MonitorElement* mEtaFineBin2p;
00052   MonitorElement* mEtaFineBin3p;
00053   MonitorElement* mEtaFineBin1m;
00054   MonitorElement* mEtaFineBin2m;
00055   MonitorElement* mEtaFineBin3m;
00056   MonitorElement* mPhi;
00057   MonitorElement* mPhiFineBin;
00058   MonitorElement* mE;
00059   MonitorElement* mE_80;
00060   MonitorElement* mE_3000;
00061   MonitorElement* mP;
00062   MonitorElement* mP_80;
00063   MonitorElement* mP_3000;
00064   MonitorElement* mPt;
00065   MonitorElement* mPt_80;
00066   MonitorElement* mPt_3000;
00067   MonitorElement* mMass;
00068   MonitorElement* mMass_80;
00069   MonitorElement* mMass_3000;
00070   MonitorElement* mConstituents;
00071   MonitorElement* mConstituents_80;
00072   MonitorElement* mConstituents_3000;
00073   MonitorElement* mHadTiming;
00074   MonitorElement* mEmTiming;
00075 
00076   // Leading Jet Parameters
00077   MonitorElement* mEtaFirst;
00078   MonitorElement* mPhiFirst;
00079   MonitorElement* mEFirst;
00080   MonitorElement* mEFirst_80;
00081   MonitorElement* mEFirst_3000;
00082   MonitorElement* mPtFirst;
00083   MonitorElement* mPtFirst_80;
00084   MonitorElement* mPtFirst_3000;
00085 
00086   MonitorElement* mNJetsEtaC;
00087   MonitorElement* mNJetsEtaF;
00088 
00089   MonitorElement* mNJets1;
00090   MonitorElement* mNJets2;
00091 
00092   // DiJet Parameters
00093   MonitorElement* mMjj;
00094   MonitorElement* mMjj_3000;
00095 
00096   // JPTJet specific
00097   MonitorElement* mPtFractionPionInVertexInCalo;
00098   MonitorElement* mPtFractionPionInVertexOutCalo;
00099   MonitorElement* mPtFractionPionOutVertexInCalo;
00100 
00101   MonitorElement* mPtFractionMuonInVertexInCalo;
00102   MonitorElement* mPtFractionMuonInVertexOutCalo;
00103   MonitorElement* mPtFractionMuonOutVertexInCalo;
00104 
00105   MonitorElement* mPtFractionElecInVertexInCalo;
00106   MonitorElement* mPtFractionElecInVertexOutCalo;
00107   MonitorElement* mPtFractionElecOutVertexInCalo;
00108 
00109   //
00110   MonitorElement* mMultiplicityPionInVertexInCalo;
00111   MonitorElement* mMultiplicityPionInVertexOutCalo;
00112   MonitorElement* mMultiplicityPionOutVertexInCalo;
00113 
00114   MonitorElement* mMultiplicityMuonInVertexInCalo;
00115   MonitorElement* mMultiplicityMuonInVertexOutCalo;
00116   MonitorElement* mMultiplicityMuonOutVertexInCalo;
00117 
00118   MonitorElement* mMultiplicityElecInVertexInCalo;
00119   MonitorElement* mMultiplicityElecInVertexOutCalo;
00120   MonitorElement* mMultiplicityElecOutVertexInCalo;
00121   /*
00122   MonitorElement* mMaxEInEmTowers;
00123   MonitorElement* mMaxEInHadTowers;
00124   MonitorElement* mHadEnergyInHO;
00125   MonitorElement* mHadEnergyInHB;
00126   MonitorElement* mHadEnergyInHF;
00127   MonitorElement* mHadEnergyInHE;
00128   MonitorElement* mHadEnergyInHO_80;
00129   MonitorElement* mHadEnergyInHB_80;
00130   MonitorElement* mHadEnergyInHE_80;
00131   MonitorElement* mHadEnergyInHO_3000;
00132   MonitorElement* mHadEnergyInHB_3000;
00133   MonitorElement* mHadEnergyInHE_3000;
00134   MonitorElement* mEmEnergyInEB;
00135   MonitorElement* mEmEnergyInEE;
00136   MonitorElement* mEmEnergyInHF;
00137   MonitorElement* mEmEnergyInEB_80;
00138   MonitorElement* mEmEnergyInEE_80;
00139   MonitorElement* mEmEnergyInEB_3000;
00140   MonitorElement* mEmEnergyInEE_3000;
00141   MonitorElement* mEnergyFractionHadronic;
00142   MonitorElement* mEnergyFractionEm;
00143   MonitorElement* mHFTotal;
00144   MonitorElement* mHFTotal_80;
00145   MonitorElement* mHFTotal_3000;
00146   MonitorElement* mHFLong;
00147   MonitorElement* mHFLong_80;
00148   MonitorElement* mHFLong_3000;
00149   MonitorElement* mHFShort;
00150   MonitorElement* mHFShort_80;
00151   MonitorElement* mHFShort_3000;
00152   MonitorElement* mN90;
00153   */
00154 
00155   // pthat
00156   MonitorElement* mPthat_80;
00157   MonitorElement* mPthat_3000;
00158 
00159   // GenJet Generic Jet Parameters
00160   MonitorElement* mGenEta;
00161   MonitorElement* mGenPhi;
00162   MonitorElement* mGenPt;
00163   MonitorElement* mGenPt_80;
00164   MonitorElement* mGenPt_3000;
00165 
00166   // GenJet Leading Jet Parameters
00167   MonitorElement* mGenEtaFirst;
00168   MonitorElement* mGenPhiFirst;
00169 
00170   // JPTJet<->GenJet matching
00171   MonitorElement* mAllGenJetsPt;
00172   MonitorElement* mMatchedGenJetsPt;
00173   MonitorElement* mAllGenJetsEta;
00174   MonitorElement* mMatchedGenJetsEta;
00175   MonitorElement* mGenJetMatchEnergyFraction;
00176   MonitorElement* mReverseMatchEnergyFraction;
00177   MonitorElement* mRMatch;
00178   MonitorElement* mDeltaEta;
00179   MonitorElement* mDeltaPhi;
00180   MonitorElement* mEScale;
00181   MonitorElement* mlinEScale;  //new
00182   MonitorElement* mDeltaE;
00183 
00184   MonitorElement* mEScale_pt10;  //new
00185   MonitorElement* mEScaleFineBin;  //new
00186 
00187   MonitorElement* mpTScaleB_s;
00188   MonitorElement* mpTScaleE_s;
00189   MonitorElement* mpTScaleF_s;
00190   MonitorElement* mpTScaleB_d;
00191   MonitorElement* mpTScaleE_d;
00192   MonitorElement* mpTScaleF_d;
00193 
00194   MonitorElement* mpTScale_60_120_s;
00195   MonitorElement* mpTScale_200_300_s;
00196   MonitorElement* mpTScale_600_900_s;
00197   MonitorElement* mpTScale_2700_3500_s;
00198 
00199   MonitorElement* mpTScale_60_120_d;
00200   MonitorElement* mpTScale_200_300_d;
00201   MonitorElement* mpTScale_600_900_d;
00202   MonitorElement* mpTScale_2700_3500_d;
00203 
00204   MonitorElement* mpTScale1DB_60_120;
00205   MonitorElement* mpTScale1DE_60_120;
00206   MonitorElement* mpTScale1DF_60_120;
00207   MonitorElement* mpTScale1DB_200_300;
00208   MonitorElement* mpTScale1DE_200_300;
00209   MonitorElement* mpTScale1DF_200_300;
00210   MonitorElement* mpTScale1DB_600_900;
00211   MonitorElement* mpTScale1DE_600_900;
00212   MonitorElement* mpTScale1DF_600_900;
00213   MonitorElement* mpTScale1DB_2700_3500;
00214   MonitorElement* mpTScale1DE_2700_3500;
00215   MonitorElement* mpTScale1DF_2700_3500;
00216   MonitorElement* mpTScale1D_60_120;
00217   MonitorElement* mpTScale1D_200_300;
00218   MonitorElement* mpTScale1D_600_900;
00219   MonitorElement* mpTScale1D_2700_3500;
00220 
00221   MonitorElement* mDelEta;
00222   MonitorElement* mDelPhi;
00223   MonitorElement* mDelPt;
00224 
00225   // Matching parameters
00226   double mMatchGenPtThreshold;
00227   double mGenEnergyFractionThreshold;
00228   double mReverseEnergyFractionThreshold;
00229   double mRThreshold;
00230 
00231   // Switch on/off unimportant histogram
00232   std::string  mTurnOnEverything;
00233 
00234   // Energy Profiles
00235   MonitorElement* mHadEnergyProfile;
00236   MonitorElement* mEmEnergyProfile;
00237   MonitorElement* mJetEnergyProfile;
00238   /*
00239   MonitorElement* mHadJetEnergyProfile;
00240   MonitorElement* mEMJetEnergyProfile;
00241   */
00242 
00243   // CaloMET
00244   MonitorElement* mCaloMEx;
00245   MonitorElement* mCaloMEx_3000;
00246   MonitorElement* mCaloMEy;
00247   MonitorElement* mCaloMEy_3000;
00248   MonitorElement* mCaloMET;
00249   MonitorElement* mCaloMET_3000;
00250   MonitorElement* mCaloMETPhi;
00251   MonitorElement* mCaloSumET;
00252   MonitorElement* mCaloSumET_3000;
00253   MonitorElement* mCaloMETSig;
00254   MonitorElement* mCaloMETSig_3000;
00255 
00256   // RecHits
00257   MonitorElement* mHBEne;
00258   MonitorElement* mHBTime;
00259   MonitorElement* mHEEne;
00260   MonitorElement* mHETime;
00261   MonitorElement* mHOEne;
00262   MonitorElement* mHOTime;
00263   MonitorElement* mHFEne;
00264   MonitorElement* mHFTime;
00265   MonitorElement* mEBEne;
00266   MonitorElement* mEBTime;
00267   MonitorElement* mEEEne;
00268   MonitorElement* mEETime;
00269 
00270 
00271 };
00272 #endif