ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillerConversionElectrons.cc
Revision: 1.2
Committed: Thu Jul 3 07:56:14 2008 UTC (16 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.1: +34 -31 lines
Log Message:
Coding Conventions

File Contents

# User Rev Content
1 loizides 1.2 // $Id: FillerConversionElectrons.cc,v 1.1 2008/07/02 19:41:02 bendavid Exp $
2 bendavid 1.1
3 loizides 1.2 #include "MitProd/TreeFiller/interface/FillerConversionElectrons.h"
4 bendavid 1.1 #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 loizides 1.2 //--------------------------------------------------------------------------------------------------
15     FillerConversionElectrons::FillerConversionElectrons(const edm::ParameterSet &cfg, bool active,
16     const TrackCol *convInOutTracks,
17     const TrackCol *convOutInTracks,
18     const TrackMap *convInOutTrackMap,
19     const TrackMap *convOutInTrackMap) :
20 bendavid 1.1 BaseFiller(cfg, "ConversionElectrons", active),
21     mitName_(Conf().getUntrackedParameter<string>("mitName","")),
22     conversionElectrons_(new mithep::ElectronArr),
23     convElectronMap_(new mithep::ConversionElectronMap),
24 loizides 1.2 conversionInOutTracks_(convInOutTracks),
25     conversionOutInTracks_(convOutInTracks),
26     conversionInOutTrackMap_(convInOutTrackMap),
27     conversionOutInTrackMap_(convOutInTrackMap)
28 bendavid 1.1 {
29 loizides 1.2 // Constructor.
30 bendavid 1.1 }
31    
32 loizides 1.2 //--------------------------------------------------------------------------------------------------
33 bendavid 1.1 FillerConversionElectrons::~FillerConversionElectrons()
34     {
35 loizides 1.2 // Destructor.
36    
37 bendavid 1.1 delete convElectronMap_;
38     }
39    
40 loizides 1.2 //--------------------------------------------------------------------------------------------------
41 bendavid 1.1 void FillerConversionElectrons::BookDataBlock(TreeWriter &tws)
42     {
43 loizides 1.2 // Add converted electron branch to tree.
44    
45 bendavid 1.1 tws.AddBranch(mitName_.c_str(),&conversionElectrons_);
46     }
47    
48 loizides 1.2 //--------------------------------------------------------------------------------------------------
49 bendavid 1.1 void FillerConversionElectrons::FillDataBlock(const edm::Event &event,
50 loizides 1.2 const edm::EventSetup &setup)
51 bendavid 1.1 {
52 loizides 1.2 // Fill converted electron array.
53 bendavid 1.1
54     conversionElectrons_->Reset();
55     convElectronMap_->Reset();
56     FillFromTracks(conversionInOutTracks_, conversionInOutTrackMap_);
57     FillFromTracks(conversionOutInTracks_, conversionOutInTrackMap_);
58     conversionElectrons_->Trim();
59     }
60    
61 loizides 1.2 //--------------------------------------------------------------------------------------------------
62     void FillerConversionElectrons::FillFromTracks(const TrackCol *tracks,
63     const TrackMap *trackMap)
64     {
65     // Obtain information from tracks.
66    
67     for (UInt_t i=0; i<tracks->GetEntries(); ++i) {
68     mithep::Track *track = const_cast<Track*>(tracks->At(i));
69     mithep::Electron* electron = conversionElectrons_->AddNew();
70     electron->SetTrackerTrack(track);
71     convElectronMap_->Add(trackMap->GetEdmRef(track), electron);
72     }
73 bendavid 1.1 }