test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
recoJetPt.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 "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 recoJetPt.cc.

References fwlite::EventContainer::add(), assert(), fwlite::EventContainer::atEnd(), fwlite::EventContainer::getByLabel(), fwlite::EventContainer::hist(), edm::HandleBase::isValid(), optutl::CommandLineParser::parseArguments(), createfilelist::parser, optutl::VariableMapCont::stringValue(), and fwlite::EventContainer::toBegin().

24 {
26  // ////////////////////////// //
27  // // Command Line Options // //
28  // ////////////////////////// //
30 
31  // Tell people what this analysis code does and setup default options.
32  optutl::CommandLineParser parser ("Plots Jet Pt");
33 
35  // Change any defaults or add any new command //
36  // line options you would like here. //
38  parser.stringValue ("outputFile") = "jetPt"; // .root added automatically
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  eventCont.add( new TH1F( "jetPt", "jetPt", 1000, 0, 1000) );
65 
67  // //////////////// //
68  // // Event Loop // //
69  // //////////////// //
71 
72  // create labels
73  edm::InputTag jetLabel ("sisCone5CaloJets");
74 
75  for (eventCont.toBegin(); ! eventCont.atEnd(); ++eventCont)
76  {
78  // Take What We Need From Event //
81  eventCont.getByLabel (jetLabel, jetHandle );
82  assert ( jetHandle.isValid() );
83 
84  // Loop over the jets
85  const vector< reco::CaloJet >::const_iterator kJetEnd = jetHandle->end();
86  for (vector< reco::CaloJet >::const_iterator jetIter = jetHandle->begin();
87  kJetEnd != jetIter;
88  ++jetIter)
89  {
90  eventCont.hist("jetPt")->Fill (jetIter->pt());
91  } // for jetIter
92  } // for eventCont
93 
94 
96  // ////////////////// //
97  // // Clean Up Job // //
98  // ////////////////// //
100 
101  // Histograms will be automatically written to the root file
102  // specificed by command line options.
103 
104  // All done! Bye bye.
105  return 0;
106 }
assert(m_qm.get())
bool isValid() const
Definition: HandleBase.h:75
tuple argc
Definition: dir2webdir.py:38