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.2 by loizides, Thu Jul 3 07:56:14 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) :
14 > //--------------------------------------------------------------------------------------------------
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    BaseFiller(cfg, "ConversionElectrons", active),
21    mitName_(Conf().getUntrackedParameter<string>("mitName","")),
22    conversionElectrons_(new mithep::ElectronArr),
23    convElectronMap_(new mithep::ConversionElectronMap),
24 <  conversionInOutTracks_(conversionInOutTracks),
25 <  conversionOutInTracks_(conversionOutInTracks),
26 <  conversionInOutTrackMap_(conversionInOutTrackMap),
27 <  conversionOutInTrackMap_(conversionOutInTrackMap)
24 >  conversionInOutTracks_(convInOutTracks),
25 >  conversionOutInTracks_(convOutInTracks),
26 >  conversionInOutTrackMap_(convInOutTrackMap),
27 >  conversionOutInTrackMap_(convOutInTrackMap)
28   {
29 +  // Constructor.
30   }
31  
32 < //-------------------------------------------------------------------------------------------------
32 > //--------------------------------------------------------------------------------------------------
33   FillerConversionElectrons::~FillerConversionElectrons()
34   {
35 +  // Destructor.
36 +
37    delete convElectronMap_;
38   }
39  
40 < //-------------------------------------------------------------------------------------------------
40 > //--------------------------------------------------------------------------------------------------
41   void FillerConversionElectrons::BookDataBlock(TreeWriter &tws)
42   {
43 +  // Add converted electron branch to tree.
44 +
45    tws.AddBranch(mitName_.c_str(),&conversionElectrons_);
46   }
47  
48 < //-------------------------------------------------------------------------------------------------
48 > //--------------------------------------------------------------------------------------------------
49   void FillerConversionElectrons::FillDataBlock(const edm::Event      &event,
50 <                                      const edm::EventSetup &setup)
50 >                                              const edm::EventSetup &setup)
51   {
52 <  // Fill global muon information. Links to the various standalone components are created in the
50 <  // link resolution.
52 >  // Fill converted electron array.
53  
54    conversionElectrons_->Reset();
55    convElectronMap_->Reset();
56    FillFromTracks(conversionInOutTracks_, conversionInOutTrackMap_);
57    FillFromTracks(conversionOutInTracks_, conversionOutInTrackMap_);
58    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        }
59   }
60  
61 + //--------------------------------------------------------------------------------------------------
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 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines