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

Comparing UserCode/MitProd/TreeFiller/src/FillMitTree.cc (file contents):
Revision 1.5 by loizides, Tue Jun 24 14:25:46 2008 UTC vs.
Revision 1.8 by bendavid, Wed Jul 2 19:41:02 2008 UTC

# Line 4 | Line 4
4   #include "FWCore/MessageLogger/interface/MessageLogger.h"
5   #include "FWCore/ServiceRegistry/interface/Service.h"
6   #include "MitProd/TreeService/interface/TreeService.h"
7 + #include "MitProd/TreeFiller/interface/AssociationMaps.h"
8   #include "MitProd/TreeFiller/interface/FillerMetaInfos.h"
9 < #include "MitProd/TreeFiller/interface/FillerGlobalMuons.h"
9 > #include "MitProd/TreeFiller/interface/FillerSimParticles.h"
10 > #include "MitProd/TreeFiller/interface/FillerTracks.h"
11 > #include "MitProd/TreeFiller/interface/FillerGsfTracks.h"
12 > #include "MitProd/TreeFiller/interface/FillerMuons.h"
13 > #include "MitProd/TreeFiller/interface/FillerElectrons.h"
14 > #include "MitProd/TreeFiller/interface/FillerConversionElectrons.h"
15 > #include "MitProd/TreeFiller/interface/FillerConversions.h"
16 > #include "MitProd/TreeFiller/interface/FillerPhotons.h"
17   #include "MitProd/TreeFiller/interface/FillerGenParts.h"
18  
19   using namespace std;
# Line 13 | Line 21 | using namespace edm;
21   using namespace mithep;
22  
23   //-------------------------------------------------------------------------------------------------
24 < FillMitTree::FillMitTree(const edm::ParameterSet &cfg)
24 > FillMitTree::FillMitTree(const edm::ParameterSet &cfg) :
25 >  defactive_(cfg.getUntrackedParameter<bool>("defactive",1))
26   {
27 <  // Constructor: initialize fillers
28 <
27 >  // Constructor.
28 >    
29    if (!configure(cfg)) {
30      throw edm::Exception(edm::errors::Configuration, "FillMitTree::FillMitTree()\n")
31        << "Could not configure fillers." << "\n";
# Line 58 | Line 67 | void FillMitTree::beginJob(const edm::Ev
67        << "Could not get pointer to tree." << "\n";
68      return;
69    }
70 <
70 >  
71    // Loop over the various components and book the branches
72    for (std::vector<BaseFiller*>::iterator iF = fillers_.begin(); iF != fillers_.end(); ++iF) {
73      (*iF)->BookDataBlock(*tws);
# Line 70 | Line 79 | bool FillMitTree::configure(const edm::P
79   {
80    // Configure our fillers.
81  
73
82    FillerMetaInfos *fillerMetaInfos = new FillerMetaInfos(cfg);
83    if (fillerMetaInfos->Active())
84      fillers_.push_back(fillerMetaInfos);
85    else
86      delete fillerMetaInfos;
87  
88 <  FillerGlobalMuons *fillerGlobalMuons = new FillerGlobalMuons(cfg);
81 <  if (fillerGlobalMuons->Active())
82 <    fillers_.push_back(fillerGlobalMuons);
83 <  else
84 <    delete fillerGlobalMuons;
85 <
86 <  FillerGenParts *fillerGenParts = new FillerGenParts(cfg);
88 >  FillerGenParts *fillerGenParts = new FillerGenParts(cfg,defactive_);
89    if (fillerGenParts->Active())
90      fillers_.push_back(fillerGenParts);
91    else
92 <    delete fillerGenParts;
92 >    delete fillerGenParts;  
93 >    
94 >  FillerSimParticles *fillerSimParticles = new FillerSimParticles(cfg,defactive_);
95 >  const SimParticleMap* simParticleMap=0;
96 >  if (fillerSimParticles->Active()) {
97 >    fillers_.push_back(fillerSimParticles);
98 >    simParticleMap = fillerSimParticles->GetSimParticleMap();
99 >  }
100 >  else
101 >    delete fillerSimParticles;  
102 >  
103 >  FillerTracks *fillerGeneralTracks = new FillerTracks(cfg,"GeneralTracks",defactive_,simParticleMap);
104 >  const TrackMap* generalTrackMap=0;
105 >  if (fillerGeneralTracks->Active()) {
106 >    fillers_.push_back(fillerGeneralTracks);
107 >    generalTrackMap = fillerGeneralTracks->GetTrackMap();
108 >  }
109 >  else
110 >    delete fillerGeneralTracks;
111 >    
112 >  FillerTracks *fillerStandaloneMuonTracks = new FillerTracks(cfg,"StandaloneMuonTracks",defactive_);
113 >  const TrackMap* standaloneMuonTrackMap=0;
114 >  if (fillerStandaloneMuonTracks->Active()) {
115 >    fillers_.push_back(fillerStandaloneMuonTracks);
116 >    standaloneMuonTrackMap = fillerStandaloneMuonTracks->GetTrackMap();
117 >  }
118 >  else
119 >    delete fillerStandaloneMuonTracks;
120 >
121 >  FillerTracks *fillerStandaloneMuonTracksVtx =
122 >    new FillerTracks(cfg,"StandaloneMuonTracksWVtxConstraint",defactive_);
123 >  const TrackMap* standaloneMuonTrackVtxMap=0;
124 >  if (fillerStandaloneMuonTracksVtx->Active()) {
125 >    fillers_.push_back(fillerStandaloneMuonTracksVtx);
126 >    standaloneMuonTrackVtxMap = fillerStandaloneMuonTracksVtx->GetTrackMap();
127 >  }
128 >  else
129 >    delete fillerStandaloneMuonTracksVtx;
130 >    
131 >  FillerTracks *fillerGlobalMuonTracks = new FillerTracks(cfg,"GlobalMuonTracks",defactive_);
132 >  const TrackMap* globalMuonTrackMap=0;
133 >  if (fillerGlobalMuonTracks->Active()) {
134 >    fillers_.push_back(fillerGlobalMuonTracks);
135 >    globalMuonTrackMap = fillerGlobalMuonTracks->GetTrackMap();
136 >  }
137 >  else
138 >    delete fillerGlobalMuonTracks;  
139 >    
140 >  FillerTracks *fillerConversionInOutTracks =
141 >    new FillerTracks(cfg,"ConversionInOutTracks",defactive_,simParticleMap);
142 >  const TrackMap* conversionInOutTrackMap=0;
143 >  const TrackCol* conversionInOutTracks=0;
144 >  if (fillerConversionInOutTracks->Active()) {
145 >    fillers_.push_back(fillerConversionInOutTracks);
146 >    conversionInOutTrackMap = fillerConversionInOutTracks->GetTrackMap();
147 >    conversionInOutTracks = fillerConversionInOutTracks->GetTrackCol();
148 >  }
149 >  else
150 >    delete fillerConversionInOutTracks;
151 >    
152 >  FillerTracks *fillerConversionOutInTracks =
153 >    new FillerTracks(cfg,"ConversionOutInTracks",defactive_,simParticleMap);
154 >  const TrackMap* conversionOutInTrackMap=0;
155 >  const TrackCol* conversionOutInTracks=0;
156 >  if (fillerConversionOutInTracks->Active()) {
157 >    fillers_.push_back(fillerConversionOutInTracks);
158 >    conversionOutInTrackMap = fillerConversionOutInTracks->GetTrackMap();
159 >    conversionOutInTracks = fillerConversionOutInTracks->GetTrackCol();
160 >  }
161 >  else
162 >    delete fillerConversionOutInTracks;
163 >    
164 >  FillerGsfTracks *fillerGsfTracks = new FillerGsfTracks(cfg,"GsfTracks",defactive_,simParticleMap);
165 >  const GsfTrackMap* gsfTrackMap=0;
166 >  if (fillerGsfTracks->Active()) {
167 >    fillers_.push_back(fillerGsfTracks);
168 >    gsfTrackMap = (GsfTrackMap*)fillerGsfTracks->GetTrackMap();
169 >  }
170 >  else
171 >    delete fillerGsfTracks;
172 >    
173 >  FillerMuons *fillerMuons =
174 >    new FillerMuons(cfg,defactive_,globalMuonTrackMap,standaloneMuonTrackMap,
175 >                    standaloneMuonTrackVtxMap,generalTrackMap);
176 >  if (fillerMuons->Active())
177 >    fillers_.push_back(fillerMuons);
178 >  else
179 >    delete fillerMuons;
180 >    
181 >  FillerElectrons *fillerElectrons = new FillerElectrons(cfg,defactive_,gsfTrackMap,generalTrackMap);
182 >  if (fillerElectrons->Active())
183 >    fillers_.push_back(fillerElectrons);
184 >  else
185 >    delete fillerElectrons;
186 >  
187 >  FillerConversionElectrons *fillerConversionElectrons = new FillerConversionElectrons(cfg, defactive_, conversionInOutTracks, conversionOutInTracks, conversionInOutTrackMap, conversionOutInTrackMap);
188 >  const ConversionElectronMap* convElectronMap=0;
189 >  if (fillerConversionElectrons->Active()) {
190 >    fillers_.push_back(fillerConversionElectrons);
191 >    convElectronMap = fillerConversionElectrons->GetConversionElectronMap();
192 >  }
193 >  else
194 >    delete fillerConversionElectrons;
195 >    
196 >  FillerConversions *fillerConversions = new FillerConversions(cfg, defactive_, convElectronMap);
197 >  const ConversionMap* conversionMap=0;
198 >  if (fillerConversions->Active()) {
199 >    fillers_.push_back(fillerConversions);
200 >    conversionMap = fillerConversions->GetConversionMap();
201 >  }
202 >  else
203 >    delete fillerConversions;
204 >    
205 >  FillerPhotons *fillerPhotons = new FillerPhotons(cfg, defactive_, conversionMap);
206 >  if (fillerPhotons->Active())
207 >    fillers_.push_back(fillerPhotons);
208 >  else
209 >    delete fillerPhotons;
210 >
211  
212    return 1;
213   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines