ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillerConversionElectrons.cc
Revision: 1.7
Committed: Thu Jul 31 12:34:04 2008 UTC (16 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_006b, Mit_006a, Mit_006, Mit_005, Mit_004, MITHEP_2_0_x
Changes since 1.6: +29 -20 lines
Log Message:
Consistently introduced ObjectService. Updated comments. Updated .cfg files. Switched off default handling of Stable and DecayParts (for now). ZmmFullReco.cfg shows how to use standard filler with extensions.

File Contents

# Content
1 // $Id: FillerConversionElectrons.cc,v 1.6 2008/07/30 08:39:50 loizides Exp $
2
3 #include "MitProd/TreeFiller/interface/FillerConversionElectrons.h"
4 #include "FWCore/MessageLogger/interface/MessageLogger.h"
5 #include "DataFormats/Common/interface/Handle.h"
6 #include "DataFormats/TrackReco/interface/Track.h"
7 #include "DataFormats/TrackReco/interface/TrackFwd.h"
8 #include "MitAna/DataTree/interface/Names.h"
9
10 using namespace std;
11 using namespace edm;
12 using namespace mithep;
13
14 //--------------------------------------------------------------------------------------------------
15 FillerConversionElectrons::FillerConversionElectrons(const edm::ParameterSet &cfg, bool active) :
16 BaseFiller(cfg,"ConversionElectrons",active),
17 mitName_(Conf().getUntrackedParameter<string>("mitName","ConversionElectrons")),
18 convInOutTracksName_(Conf().getUntrackedParameter<string>("convInOutTracksName","")),
19 convOutInTracksName_(Conf().getUntrackedParameter<string>("convOutInTracksName","")),
20 convInOutTrackMapName_(Conf().getUntrackedParameter<string>("convInOutTrackMapName","")),
21 convOutInTrackMapName_(Conf().getUntrackedParameter<string>("convOutInTrackMapName","")),
22 convElectronMapName_(Conf().getUntrackedParameter<string>("convElectronMapName",
23 Form("%sMapName",mitName_.c_str()))),
24 convInOutTracks_(0),
25 convOutInTracks_(0),
26 convInOutTrackMap_(0),
27 convOutInTrackMap_(0),
28 convElectrons_(new mithep::ElectronArr(16)),
29 convElectronMap_(new mithep::ConversionElectronMap)
30 {
31 // Constructor.
32 }
33
34 //--------------------------------------------------------------------------------------------------
35 FillerConversionElectrons::~FillerConversionElectrons()
36 {
37 // Destructor.
38
39 delete convElectrons_;
40 delete convElectronMap_;
41 }
42
43 //--------------------------------------------------------------------------------------------------
44 void FillerConversionElectrons::BookDataBlock(TreeWriter &tws)
45 {
46 // Add converted electron branch to tree. Publish and get our objects.
47
48 tws.AddBranch(mitName_.c_str(),&convElectrons_);
49
50 OS()->add<ElectronArr>(convElectrons_,mitName_.c_str());
51 OS()->add<ConversionElectronMap>(convElectronMap_,convElectronMapName_.c_str());
52 convInOutTracks_ = OS()->get<TrackArr>(convInOutTracksName_.c_str());
53 convOutInTracks_ = OS()->get<TrackArr>(convOutInTracksName_.c_str());
54 convInOutTrackMap_ = OS()->get<TrackMap>(convInOutTrackMapName_.c_str());
55 convOutInTrackMap_ = OS()->get<TrackMap>(convOutInTrackMapName_.c_str());
56 }
57
58 //--------------------------------------------------------------------------------------------------
59 void FillerConversionElectrons::FillDataBlock(const edm::Event &event,
60 const edm::EventSetup &setup)
61 {
62 // Fill converted electron array.
63
64 convElectrons_->Reset();
65 convElectronMap_->Reset();
66 FillFromTracks(convInOutTracks_, convInOutTrackMap_);
67 FillFromTracks(convOutInTracks_, convOutInTrackMap_);
68 convElectrons_->Trim();
69 }
70
71 //--------------------------------------------------------------------------------------------------
72 void FillerConversionElectrons::FillFromTracks(const TrackCol *tracks,
73 const TrackMap *trackMap)
74 {
75 // Obtain information from tracks.
76
77 for (UInt_t i=0; i<tracks->GetEntries(); ++i) {
78 mithep::Track *track = const_cast<Track*>(tracks->At(i));
79 mithep::Electron *electron = convElectrons_->AddNew();
80 electron->SetTrackerTrk(track);
81 convElectronMap_->Add(trackMap->GetEdm(track), electron);
82 }
83 }