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.4 by loizides, Fri Jun 20 17:52:57 2008 UTC vs.
Revision 1.20 by sixie, Sat Sep 6 18:10:40 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/ObjectService/interface/ObjectService.h"
8 + #include "MitProd/TreeFiller/interface/AssociationMaps.h"
9   #include "MitProd/TreeFiller/interface/FillerMetaInfos.h"
10 < #include "MitProd/TreeFiller/interface/FillerGlobalMuons.h"
10 > #include "MitProd/TreeFiller/interface/FillerTracks.h"
11 > #include "MitProd/TreeFiller/interface/FillerGsfTracks.h"
12 > #include "MitProd/TreeFiller/interface/FillerBasicClusters.h"
13 > #include "MitProd/TreeFiller/interface/FillerSuperClusters.h"
14 > #include "MitProd/TreeFiller/interface/FillerCaloTowers.h"
15 > #include "MitProd/TreeFiller/interface/FillerMuons.h"
16 > #include "MitProd/TreeFiller/interface/FillerElectrons.h"
17 > #include "MitProd/TreeFiller/interface/FillerCaloJets.h"
18 > #include "MitProd/TreeFiller/interface/FillerCaloMet.h"
19 > #include "MitProd/TreeFiller/interface/FillerConversions.h"
20 > #include "MitProd/TreeFiller/interface/FillerConversionElectrons.h"
21 > #include "MitProd/TreeFiller/interface/FillerPhotons.h"
22 > #include "MitProd/TreeFiller/interface/FillerMCParticles.h"
23 > #include "MitProd/TreeFiller/interface/FillerDecayParts.h"
24 > #include "MitProd/TreeFiller/interface/FillerStableParts.h"
25  
26 + #include "MitProd/TreeFiller/interface/FillerPATMuons.h"
27 + #include "MitProd/TreeFiller/interface/FillerPATElectrons.h"
28   using namespace std;
29   using namespace edm;
30   using namespace mithep;
31  
32 < //-------------------------------------------------------------------------------------------------
33 < FillMitTree::FillMitTree(const edm::ParameterSet &cfg)
32 > mithep::ObjectService *mithep::FillMitTree::os_ = 0;
33 >
34 > //--------------------------------------------------------------------------------------------------
35 > FillMitTree::FillMitTree(const edm::ParameterSet &cfg) :
36 >  defactive_(cfg.getUntrackedParameter<bool>("defactive",1))
37   {
38 <  // Constructor: initialize fillers
38 >  // Constructor.
39  
40    if (!configure(cfg)) {
41      throw edm::Exception(edm::errors::Configuration, "FillMitTree::FillMitTree()\n")
# Line 22 | Line 43 | FillMitTree::FillMitTree(const edm::Para
43    }
44   }
45  
46 < //-------------------------------------------------------------------------------------------------
46 > //--------------------------------------------------------------------------------------------------
47   FillMitTree::~FillMitTree()
48   {
49    // Destructor: nothing to be done here.
50   }
51  
52 < //-------------------------------------------------------------------------------------------------
52 > //--------------------------------------------------------------------------------------------------
53 > bool FillMitTree::addActiveFiller(BaseFiller *bf)
54 > {
55 >  // Check if filler is active and add it to list of fillers. Otherwise delete it.
56 >
57 >  if (bf->Active()) {
58 >    fillers_.push_back(bf);
59 >    return 1;
60 >  }
61 >
62 >  delete bf;
63 >  bf = 0;
64 >  return 0;
65 > }
66 >
67 > //--------------------------------------------------------------------------------------------------
68   void FillMitTree::analyze(const edm::Event      &event,
69                            const edm::EventSetup &setup)
70   {
# Line 45 | Line 81 | void FillMitTree::analyze(const edm::Eve
81    }
82   }
83  
84 < //-------------------------------------------------------------------------------------------------
84 > //--------------------------------------------------------------------------------------------------
85   void FillMitTree::beginJob(const edm::EventSetup &event)
86   {
87    // Access the tree and book branches.
# Line 54 | Line 90 | void FillMitTree::beginJob(const edm::Ev
90    TreeWriter *tws = ts->get();
91    if (! tws) {
92      throw edm::Exception(edm::errors::Configuration, "FillMitTree::beginJob()\n")
93 <      << "Could not get pointer to tree." << "\n";
93 >      << "Could not get pointer to tree. "
94 >      << "Do you have the TreeServie define in your config?" << "\n";
95      return;
96    }
97  
98 +  if (os_==0) {
99 +    Service<ObjectService> os;
100 +    if (!os.isAvailable()) {
101 +      throw edm::Exception(edm::errors::Configuration, "FillMitTree::beginJob()\n")
102 +        << "Could not get object service. "
103 +        << "Do you have the ObjectService defined in your config?" << "\n";
104 +      return;
105 +    }
106 +    os_ = &(*os);
107 +  }
108 +
109    // Loop over the various components and book the branches
110    for (std::vector<BaseFiller*>::iterator iF = fillers_.begin(); iF != fillers_.end(); ++iF) {
111 +    edm::LogInfo("FillMitTree::beginJob") << "Booking for " << (*iF)->Name() << endl;
112      (*iF)->BookDataBlock(*tws);
113    }
114   }
115  
116 < //-------------------------------------------------------------------------------------------------
116 > //--------------------------------------------------------------------------------------------------
117   bool FillMitTree::configure(const edm::ParameterSet &cfg)
118   {
119    // Configure our fillers.
120  
121 +  FillerMetaInfos *fillerMetaInfos = new FillerMetaInfos(cfg,defactive_);
122 +  addActiveFiller(fillerMetaInfos);
123 +
124 +  FillerMCParticles *fillerMCParticles = new FillerMCParticles(cfg,"MCParticles",defactive_);
125 +  addActiveFiller(fillerMCParticles);
126  
127 <  FillerMetaInfos *fillerMetaInfos = new FillerMetaInfos(cfg);
128 <  if (fillerMetaInfos->Active())
129 <    fillers_.push_back(fillerMetaInfos);
130 <  else
131 <    delete fillerMetaInfos;
132 <
133 <  FillerGlobalMuons *fillerGlobalMuons = new FillerGlobalMuons(cfg);
134 <  if (fillerGlobalMuons->Active())
135 <    fillers_.push_back(fillerGlobalMuons);
136 <  else
137 <    delete fillerGlobalMuons;
127 >  FillerCaloTowers *fillerCaloTowers =
128 >    new FillerCaloTowers(cfg, "CaloTowers", defactive_);
129 >  addActiveFiller(fillerCaloTowers);
130 >
131 >  FillerCaloJets *fillerCaloJets = new FillerCaloJets(cfg,"CaloJets",defactive_);
132 >  addActiveFiller(fillerCaloJets);
133 >
134 >  FillerCaloJets *fillerSisCone5Jets = new FillerCaloJets(cfg,"SisCone5Jets",defactive_);
135 >  addActiveFiller(fillerSisCone5Jets);
136 >
137 >  FillerCaloMet *fillerCaloMet = new FillerCaloMet(cfg,"CaloMet",defactive_);
138 >  addActiveFiller(fillerCaloMet);
139 >
140 >  FillerTracks *fillerGeneralTracks = new FillerTracks(cfg,"GeneralTracks",defactive_);
141 >  addActiveFiller(fillerGeneralTracks);
142 >
143 >  FillerTracks *fillerStandaloneMuonTracks =
144 >    new FillerTracks(cfg,"StandaloneMuonTracks",defactive_);
145 >  addActiveFiller(fillerStandaloneMuonTracks);
146 >
147 >  FillerTracks *fillerStandaloneMuonTracksVtx =
148 >    new FillerTracks(cfg,"StandaloneMuonTracksWVtxConstraint",defactive_);
149 >  addActiveFiller(fillerStandaloneMuonTracksVtx);
150 >
151 >  FillerTracks *fillerGlobalMuonTracks = new FillerTracks(cfg,"GlobalMuonTracks",defactive_);
152 >  addActiveFiller(fillerGlobalMuonTracks);
153 >    
154 >  FillerTracks *fillerConversionInOutTracks =
155 >    new FillerTracks(cfg,"ConversionInOutTracks",defactive_);
156 >  addActiveFiller(fillerConversionInOutTracks);
157 >
158 >  FillerTracks *fillerConversionOutInTracks =
159 >    new FillerTracks(cfg,"ConversionOutInTracks",defactive_);
160 >  addActiveFiller(fillerConversionOutInTracks);
161 >
162 >  FillerGsfTracks *fillerGsfTracks = new FillerGsfTracks(cfg,"GsfTracks",defactive_);
163 >  addActiveFiller(fillerGsfTracks);
164 >
165 >  FillerBasicClusters *fillerBarrelBasicClusters =
166 >    new FillerBasicClusters(cfg, "BarrelBasicClusters", defactive_);
167 >  addActiveFiller(fillerBarrelBasicClusters);
168 >
169 >  FillerSuperClusters *fillerBarrelSuperClusters =  
170 >    new FillerSuperClusters(cfg,"BarrelSuperClusters", defactive_);
171 >  addActiveFiller(fillerBarrelSuperClusters);
172 >
173 >  FillerBasicClusters *fillerEndcapBasicClusters =
174 >    new FillerBasicClusters(cfg,"EndcapBasicClusters", defactive_);
175 >  addActiveFiller(fillerEndcapBasicClusters);
176 >  
177 >  FillerSuperClusters *fillerEndcapSuperClusters =  
178 >    new FillerSuperClusters(cfg,"EndcapSuperClusters", defactive_);
179 >  addActiveFiller(fillerEndcapSuperClusters);
180 >  
181 >  FillerMuons *fillerMuons = new FillerMuons(cfg,defactive_);
182 >  addActiveFiller(fillerMuons);
183 >  
184 >  FillerElectrons *fillerElectrons = new FillerElectrons(cfg,defactive_);
185 >  addActiveFiller(fillerElectrons);
186 >
187 >  FillerConversionElectrons *fillerConversionElectrons =
188 >    new FillerConversionElectrons(cfg,defactive_);
189 >  addActiveFiller(fillerConversionElectrons);
190 >
191 >  FillerConversions *fillerConversions = new FillerConversions(cfg,defactive_);
192 >  addActiveFiller(fillerConversions);
193 >
194 >  FillerPhotons *fillerPhotons = new FillerPhotons(cfg,defactive_);
195 >  addActiveFiller(fillerPhotons);
196 >
197 >  FillerStableParts *fillerStableParts = new FillerStableParts(cfg,"StableParts",defactive_);
198 >  addActiveFiller(fillerStableParts);
199 >  
200 >  FillerDecayParts *fillerDecayParts = new FillerDecayParts(cfg,"DecayParts",defactive_);
201 >  addActiveFiller(fillerDecayParts);
202  
203    return 1;
204   }
205  
206 < //-------------------------------------------------------------------------------------------------
206 > //--------------------------------------------------------------------------------------------------
207   void FillMitTree::endJob()
208   {
209    // Delete fillers.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines