ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillerConversionElectrons.cc
Revision: 1.5
Committed: Mon Jul 14 21:01:00 2008 UTC (16 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.4: +2 -2 lines
Log Message:
Adapt to new getters.

File Contents

# User Rev Content
1 loizides 1.5 // $Id: FillerConversionElectrons.cc,v 1.4 2008/07/13 08:46:04 loizides 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 loizides 1.4 BaseFiller(cfg,"ConversionElectrons",active),
21     mitName_(Conf().getUntrackedParameter<string>("mitName","ConversionElectrons")),
22     conversionElectrons_(new mithep::ElectronArr(16)),
23 bendavid 1.1 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 loizides 1.3 delete conversionElectrons_;
38 bendavid 1.1 delete convElectronMap_;
39     }
40    
41 loizides 1.2 //--------------------------------------------------------------------------------------------------
42 bendavid 1.1 void FillerConversionElectrons::BookDataBlock(TreeWriter &tws)
43     {
44 loizides 1.2 // Add converted electron branch to tree.
45    
46 bendavid 1.1 tws.AddBranch(mitName_.c_str(),&conversionElectrons_);
47     }
48    
49 loizides 1.2 //--------------------------------------------------------------------------------------------------
50 bendavid 1.1 void FillerConversionElectrons::FillDataBlock(const edm::Event &event,
51 loizides 1.2 const edm::EventSetup &setup)
52 bendavid 1.1 {
53 loizides 1.2 // Fill converted electron array.
54 bendavid 1.1
55     conversionElectrons_->Reset();
56     convElectronMap_->Reset();
57     FillFromTracks(conversionInOutTracks_, conversionInOutTrackMap_);
58     FillFromTracks(conversionOutInTracks_, conversionOutInTrackMap_);
59     conversionElectrons_->Trim();
60     }
61    
62 loizides 1.2 //--------------------------------------------------------------------------------------------------
63     void FillerConversionElectrons::FillFromTracks(const TrackCol *tracks,
64     const TrackMap *trackMap)
65     {
66     // Obtain information from tracks.
67    
68     for (UInt_t i=0; i<tracks->GetEntries(); ++i) {
69     mithep::Track *track = const_cast<Track*>(tracks->At(i));
70 loizides 1.4 mithep::Electron *electron = conversionElectrons_->AddNew();
71 loizides 1.5 electron->SetTrackerTrk(track);
72 loizides 1.2 convElectronMap_->Add(trackMap->GetEdmRef(track), electron);
73     }
74 bendavid 1.1 }