CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
printJetInfo.cc File Reference
#include "FWCore/Utilities/interface/InputTag.h"
#include "DataFormats/Common/interface/Handle.h"
#include "DataFormats/JetReco/interface/CaloJet.h"
#include "PhysicsTools/FWLite/interface/EventContainer.h"
#include "PhysicsTools/FWLite/interface/CommandLineParser.h"
#include "TString.h"
#include "TROOT.h"

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 

Function Documentation

int main ( int  argc,
char *  argv[] 
)

Definition at line 23 of file printJetInfo.cc.

References fwlite::EventContainer::atEnd(), gather_cfg::cout, edm::EventAuxiliary::event(), fwlite::EventContainer::eventAuxiliary(), fwlite::EventContainer::getByLabel(), getHLTprescales::index, edm::HandleBase::isValid(), optutl::CommandLineParser::parseArguments(), geometryXMLtoCSV::parser, edm::Handle< T >::product(), edm::EventAuxiliary::run(), and fwlite::EventContainer::toBegin().

24 {
26  // ////////////////////////// //
27  // // Command Line Options // //
28  // ////////////////////////// //
30 
31 
32  // Tell people what this analysis code does and setup default options.
34 
36  // Change any defaults or add any new command //
37  // line options you would like here. //
39 
40  // Parse the command line arguments
41  parser.parseArguments (argc, argv);
42 
44  // //////////////////////////// //
45  // // Create Event Container // //
46  // //////////////////////////// //
48 
49  // This object 'event' is used both to get all information from the
50  // event as well as to store histograms, etc.
51  fwlite::EventContainer eventCont (parser);
52 
54  // ////////////////////////////////// //
55  // // Begin Run // //
56  // // (e.g., book histograms, etc) // //
57  // ////////////////////////////////// //
59 
60  // Setup a style
61  gROOT->SetStyle ("Plain");
62 
63  // Book those histograms!
64 
66  // //////////////// //
67  // // Event Loop // //
68  // //////////////// //
70 
72  edm::InputTag jetLabel ("sisCone5CaloJets");
73 
74  for (eventCont.toBegin(); ! eventCont.atEnd(); ++eventCont)
75  {
76 
77  cout << "run " << eventCont.eventAuxiliary().run() << " event "
78  << eventCont.eventAuxiliary().event() << endl;
79  cout << " index Et eta phi" << endl;
80 
81 
83  // Take What We Need From Event //
85  eventCont.getByLabel (jetLabel, jetHandle);
86  assert (jetHandle.isValid());
87  const std::vector< reco::CaloJet > &jetVec( *jetHandle.product() );
88  int index = 0;
89  for (std::vector< reco::CaloJet >::const_iterator iter = jetVec.begin();
90  jetVec.end() != iter;
91  ++iter, ++index)
92  {
93  cout << " " << setw(2) << index << ") ";
94  cout << setw(8) << Form ("%8.4f", iter->et() ) << " "
95  << setw(8) << Form ("%8.4f", iter->eta()) << " "
96  << setw(8) << Form ("%8.4f", iter->phi()) << " " << endl;
97  }
98 
99  } // for eventCont
100 
101 
103  // ////////////////// //
104  // // Clean Up Job // //
105  // ////////////////// //
107 
108  // Histograms will be automatically written to the root file
109  // specificed by command line options.
110 
111  // All done! Bye bye.
112  return 0;
113 }
bool isValid() const
Definition: HandleBase.h:76
tuple argc
Definition: dir2webdir.py:41
T const * product() const
Definition: Handle.h:74
tuple cout
Definition: gather_cfg.py:121