Go to the documentation of this file.00001
00002
00003
00004
00005
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "L1Trigger/L1GctAnalyzer/interface/GctTimingAnalyzer.h"
00020
00021 GctTimingAnalyzer::GctTimingAnalyzer(const edm::ParameterSet& iConfig):
00022 m_outputFileName(iConfig.getUntrackedParameter<std::string>("outFile", "gctTiming.txt")),
00023 m_gctSource(iConfig.getUntrackedParameter<edm::InputTag>("gctSource")),
00024 m_isoEmSource(iConfig.getUntrackedParameter<edm::InputTag>("isoEmSource")),
00025 m_nonIsoEmSource(iConfig.getUntrackedParameter<edm::InputTag>("nonIsoEmSource")),
00026 m_cenJetsSource(iConfig.getUntrackedParameter<edm::InputTag>("cenJetsSource")),
00027 m_forJetsSource(iConfig.getUntrackedParameter<edm::InputTag>("forJetsSource")),
00028 m_tauJetsSource(iConfig.getUntrackedParameter<edm::InputTag>("tauJetsSource")),
00029 m_doInternal(iConfig.getUntrackedParameter<bool>("doInternal")),
00030 m_doElectrons(iConfig.getUntrackedParameter<bool>("doElectrons")),
00031 m_doJets(iConfig.getUntrackedParameter<bool>("doJets")),
00032 m_doHFRings(iConfig.getUntrackedParameter<bool>("doHFRings")),
00033 m_doESums(iConfig.getUntrackedParameter<bool>("doESums")),
00034 m_evtNum(0)
00035 {
00036 m_outputFile.open(m_outputFileName.c_str());
00037 }
00038
00039 GctTimingAnalyzer::~GctTimingAnalyzer()
00040 {
00041 m_outputFile.close();
00042 }
00043
00044 void GctTimingAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
00045 {
00046 using namespace edm;
00047 using namespace std;
00048
00049
00050 if(m_doElectrons){
00051
00052
00053 Handle<L1GctEmCandCollection> isoEm;
00054 iEvent.getByLabel(m_isoEmSource,isoEm);
00055
00056 for (L1GctEmCandCollection::const_iterator em=isoEm->begin(); em!=isoEm->end(); em++){
00057 if (em->rank()>0) {
00058 m_outputFile << "BX = " << dec << m_evtNum << " " << (*em) << std::endl;
00059 }
00060 }
00061
00062
00063 Handle<L1GctEmCandCollection> nonIsoEm;
00064 iEvent.getByLabel(m_nonIsoEmSource,nonIsoEm);
00065
00066 for (L1GctEmCandCollection::const_iterator em=nonIsoEm->begin(); em!=nonIsoEm->end(); em++){
00067 if (em->rank()>0) {
00068 m_outputFile << "BX = " << dec << m_evtNum << " " << (*em) << std::endl;
00069 }
00070 }
00071
00072 if (m_doInternal){
00073
00074 Handle<L1GctInternEmCandCollection> internEm;
00075 iEvent.getByLabel(m_gctSource,internEm);
00076
00077 if (internEm.isValid()) {
00078 for (L1GctInternEmCandCollection::const_iterator em=internEm->begin(); em!=internEm->end(); em++){
00079 if (em->rank()>0) {
00080 m_outputFile << "BX = " << dec << m_evtNum << " " << (*em) << std::endl;
00081 }
00082 }
00083 }
00084 }
00085
00086
00087 Handle<L1CaloEmCollection> rctEm;
00088 iEvent.getByLabel(m_gctSource,rctEm);
00089
00090 for (L1CaloEmCollection::const_iterator em=rctEm->begin(); em!=rctEm->end(); em++){
00091 if (em->rank()>0) {
00092 m_outputFile << "BX = " << dec << m_evtNum << " " << (*em) << std::endl;
00093 }
00094 }
00095 }
00096
00097
00098 if (m_doJets){
00099
00100
00101 Handle<L1GctJetCandCollection> cenJets;
00102 iEvent.getByLabel(m_cenJetsSource,cenJets);
00103
00104 for (L1GctJetCandCollection::const_iterator cj=cenJets->begin(); cj!=cenJets->end(); cj++){
00105 if (cj->rank()>0) {
00106 m_outputFile << "BX = " << dec << m_evtNum << " " << (*cj) << std::endl;
00107 }
00108 }
00109
00110
00111 Handle<L1GctJetCandCollection> forJets;
00112 iEvent.getByLabel(m_forJetsSource,forJets);
00113
00114 for (L1GctJetCandCollection::const_iterator fj=forJets->begin(); fj!=forJets->end(); fj++){
00115 if (fj->rank()>0) {
00116 m_outputFile << "BX = " << dec << m_evtNum << " " << (*fj) << std::endl;
00117 }
00118 }
00119
00120
00121 Handle<L1GctJetCandCollection> tauJets;
00122 iEvent.getByLabel(m_tauJetsSource,tauJets);
00123
00124 for (L1GctJetCandCollection::const_iterator tj=tauJets->begin(); tj!=tauJets->end(); tj++){
00125 if (tj->rank()>0) {
00126 m_outputFile << "BX = " << dec << m_evtNum << " " << (*tj) << std::endl;
00127 }
00128 }
00129
00130 if (m_doInternal){
00131
00132
00133 Handle<L1GctInternJetDataCollection> internJets;
00134 iEvent.getByLabel(m_gctSource,internJets);
00135
00136 if (internJets.isValid()){
00137 for (L1GctInternJetDataCollection::const_iterator j=internJets->begin(); j!=internJets->end(); j++){
00138 if ((j->et()>0) || (j->rank()>0)) {
00139 m_outputFile << "BX = " << dec << m_evtNum << " " << (*j) << std::endl;
00140 }
00141 }
00142 }
00143 }
00144 }
00145
00146
00147 Handle<L1CaloRegionCollection> rctRn;
00148 iEvent.getByLabel(m_gctSource,rctRn);
00149
00150 for (L1CaloRegionCollection::const_iterator rn=rctRn->begin(); rn!=rctRn->end(); rn++){
00151 if (rn->et()>0) {
00152 m_outputFile << "BX = " << dec << m_evtNum << " " << (*rn) << std::endl;
00153 }
00154 }
00155
00156
00157 if (m_doHFRings){
00158
00159
00160 Handle<L1GctHFBitCountsCollection> hfBitCnt;
00161 iEvent.getByLabel(m_gctSource,hfBitCnt);
00162
00163 for (L1GctHFBitCountsCollection::const_iterator jc=hfBitCnt->begin(); jc!=hfBitCnt->end(); jc++){
00164 if (jc->bitCount(0) || jc->bitCount(1) || jc->bitCount(2) || jc->bitCount(3)){
00165 m_outputFile << "BX = " << dec << m_evtNum << " " << (*jc) << std::endl;
00166 }
00167 }
00168
00169
00170 Handle<L1GctHFRingEtSumsCollection> hfEtSums;
00171 iEvent.getByLabel(m_gctSource,hfEtSums);
00172
00173 for (L1GctHFRingEtSumsCollection::const_iterator js=hfEtSums->begin(); js!=hfEtSums->end(); js++){
00174 if (js->etSum(0) || js->etSum(1) || js->etSum(2) || js->etSum(3)){
00175 m_outputFile << "BX = " << dec << m_evtNum << " " << (*js) << std::endl;
00176 }
00177 }
00178
00179 if (m_doInternal){
00180
00181 Handle<L1GctInternHFDataCollection> internHF;
00182 iEvent.getByLabel(m_gctSource,internHF);
00183
00184 if (internHF.isValid()){
00185 for (L1GctInternHFDataCollection::const_iterator hf=internHF->begin(); hf!=internHF->end(); hf++){
00186 if (hf->value(0) || hf->value(1) || hf->value(2) || hf->value(3)){
00187 m_outputFile << "BX = " << dec << m_evtNum << " " << (*hf) << std::endl;
00188 }
00189 }
00190 }
00191 }
00192 }
00193
00194
00195 if (m_doESums){
00196
00197
00198 Handle<L1GctEtMissCollection> missEt;
00199 iEvent.getByLabel(m_gctSource,missEt);
00200
00201 for (L1GctEtMissCollection::const_iterator met=missEt->begin(); met!=missEt->end(); met++){
00202 if (met->et()>0){
00203 m_outputFile << "BX = " << dec << m_evtNum << " " << (*met) << std::endl;
00204 }
00205 }
00206
00207
00208 Handle<L1GctEtTotalCollection> totEt;
00209 iEvent.getByLabel(m_gctSource,totEt);
00210
00211 for (L1GctEtTotalCollection::const_iterator tet=totEt->begin(); tet!=totEt->end(); tet++){
00212 if (tet->et()>0){
00213 m_outputFile << "BX = " << dec << m_evtNum << " " << (*tet) << std::endl;
00214 }
00215 }
00216
00217
00218 Handle<L1GctEtHadCollection> hadEt;
00219 iEvent.getByLabel(m_gctSource,hadEt);
00220
00221 for (L1GctEtHadCollection::const_iterator ht=hadEt->begin(); ht!=hadEt->end(); ht++){
00222 if (ht->et()>0){
00223 m_outputFile << "BX = " << dec << m_evtNum << " " << (*ht) << std::endl;
00224 }
00225 }
00226
00227 if (m_doInternal){
00228
00229 Handle<L1GctInternEtSumCollection> Et;
00230 iEvent.getByLabel(m_gctSource,Et);
00231
00232 if (Et.isValid()){
00233 for (L1GctInternEtSumCollection::const_iterator e=Et->begin(); e!=Et->end(); e++){
00234 if (e->et()>0){
00235 m_outputFile << "BX = " << dec << m_evtNum << " " << (*e) << std::endl;
00236 }
00237 }
00238 }
00239 }
00240 }
00241
00242 m_evtNum++;
00243
00244 }