ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillerConversionElectrons.cc
(Generate patch)

Comparing UserCode/MitProd/TreeFiller/src/FillerConversionElectrons.cc (file contents):
Revision 1.1 by bendavid, Wed Jul 2 19:41:02 2008 UTC vs.
Revision 1.7 by loizides, Thu Jul 31 12:34:04 2008 UTC

# Line 1 | Line 1
1   // $Id$
2  
3 + #include "MitProd/TreeFiller/interface/FillerConversionElectrons.h"
4   #include "FWCore/MessageLogger/interface/MessageLogger.h"
4 #include "FWCore/Framework/interface/ESHandle.h"
5   #include "DataFormats/Common/interface/Handle.h"
6 #include "FWCore/ServiceRegistry/interface/Service.h"
6   #include "DataFormats/TrackReco/interface/Track.h"
8 #include "MitAna/DataTree/interface/Electron.h"
7   #include "DataFormats/TrackReco/interface/TrackFwd.h"
10
11
12 #include "MitAna/DataTree/interface/Track.h"
8   #include "MitAna/DataTree/interface/Names.h"
14 #include "MitProd/TreeFiller/interface/FillerConversionElectrons.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, const mithep::TrackCol* conversionInOutTracks, const mithep::TrackCol* conversionOutInTracks, const mithep::TrackMap* conversionInOutTrackMap, const mithep::TrackMap* conversionOutInTrackMap) :
16 <  BaseFiller(cfg, "ConversionElectrons", active),
17 <  mitName_(Conf().getUntrackedParameter<string>("mitName","")),
18 <  conversionElectrons_(new mithep::ElectronArr),
19 <  convElectronMap_(new mithep::ConversionElectronMap),
20 <  conversionInOutTracks_(conversionInOutTracks),
21 <  conversionOutInTracks_(conversionOutInTracks),
22 <  conversionInOutTrackMap_(conversionInOutTrackMap),
23 <  conversionOutInTrackMap_(conversionOutInTrackMap)
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 < //-------------------------------------------------------------------------------------------------
34 > //--------------------------------------------------------------------------------------------------
35   FillerConversionElectrons::~FillerConversionElectrons()
36   {
37 +  // Destructor.
38 +
39 +  delete convElectrons_;
40    delete convElectronMap_;
41   }
42  
43 < //-------------------------------------------------------------------------------------------------
43 > //--------------------------------------------------------------------------------------------------
44   void FillerConversionElectrons::BookDataBlock(TreeWriter &tws)
45   {
46 <  tws.AddBranch(mitName_.c_str(),&conversionElectrons_);
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 < //-------------------------------------------------------------------------------------------------
58 > //--------------------------------------------------------------------------------------------------
59   void FillerConversionElectrons::FillDataBlock(const edm::Event      &event,
60 <                                      const edm::EventSetup &setup)
60 >                                              const edm::EventSetup &setup)
61   {
62 <  // Fill global muon information. Links to the various standalone components are created in the
50 <  // link resolution.
62 >  // Fill converted electron array.
63  
64 <  conversionElectrons_->Reset();
64 >  convElectrons_->Reset();
65    convElectronMap_->Reset();
66 <  FillFromTracks(conversionInOutTracks_, conversionInOutTrackMap_);
67 <  FillFromTracks(conversionOutInTracks_, conversionOutInTrackMap_);
68 <  conversionElectrons_->Trim();
57 <  
58 <  
59 < }
60 <
61 < void FillerConversionElectrons::FillFromTracks(const mithep::TrackCol* tracks, const TrackMap* trackMap) {
62 <        for (UInt_t i=0; i<tracks->GetEntries(); i++) {
63 <                mithep::Track* track = (Track*)tracks->At(i);
64 <                mithep::Electron* electron = conversionElectrons_->AddNew();
65 <                electron->SetTrackerTrack(track);
66 <                convElectronMap_->Add(trackMap->GetEdmRef(track), electron);
67 <        }
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 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines