Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <memory>
00023 #include <iostream>
00024
00025 #include "TCanvas.h"
00026
00027 #include "__subsys__/__pkgname__/plugins/__class__.h"
00028 #include "DataFormats/Common/interface/Handle.h"
00029 #include "FWCore/Framework/interface/Event.h"
00030
00031 @example_track #include "DataFormats/TrackReco/interface/Track.h"
00032
00033
00034
00035 @example_track const char* const kPt = "pt";
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 __class__Worker::__class__Worker(const TList* fromSelector, TList& out ) {
00048
00049
00050 @example_track h_pt = new TH1F(kPt, "P_t",100,0,100);
00051 @example_track out.Add(h_pt);
00052 }
00053
00054 __class__Worker::~__class__Worker()
00055 {
00056 }
00057
00058 void
00059 __class__Worker::process( const edm::Event& iEvent ) {
00060 using namespace edm;
00061 @example_track using reco::TrackCollection;
00062
00063 @example_track Handle<TrackCollection> tracks;
00064 @example_track iEvent.getByLabel("ctfWithMaterialTracks",tracks);
00065 @example_track for(TrackCollection::const_iterator itTrack = tracks->begin();
00066 @example_track itTrack != tracks->end();
00067 @example_track ++itTrack) {
00068 @example_track h_pt->Fill(itTrack->pt());
00069 @example_track }
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079 }
00080
00081
00082
00083 void
00084 __class__Worker::postProcess(TList& out)
00085 {
00086 }
00087
00088
00089
00090
00091
00092 __class__::__class__()
00093 {
00094 }
00095
00096 __class__::~__class__()
00097 {
00098 }
00099
00100
00101 void __class__::begin(TList*& toWorkers)
00102 {
00103 }
00104
00105
00106
00107 void __class__::terminate(TList& fromWorkers) {
00108 using namespace std;
00109 std::auto_ptr<TCanvas> canvas( new TCanvas() );
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120 @example_track {
00121 @example_track TObject* hist = fromWorkers.FindObject(kPt);
00122 @example_track if(0!=hist) {
00123 @example_track hist->Draw();
00124 @example_track canvas->SaveAs( "pt.jpg" );
00125 @example_track } else {
00126 @example_track cout <<"no '"<<kPt<<"' histogram"<<endl;
00127 @example_track }
00128 @example_track }
00129
00130 }