00001
00002
00003
00004
00005
00013
00014
00015
00016
00017
00018
00019 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00020 #include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h"
00021
00022 #include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h"
00023 #include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h"
00024 #include "Geometry/CaloTopology/interface/HcalTopology.h"
00025 #include "Geometry/CaloTopology/interface/CaloTopology.h"
00026 #include "RecoCaloTools/Navigation/interface/CaloNavigator.h"
00027
00028 #include "MagneticField/Engine/interface/MagneticField.h"
00029 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00030
00031 #include "FWCore/Framework/interface/EventSetup.h"
00032 #include "FWCore/Framework/interface/ESHandle.h"
00033 #include <iostream>
00034 #include <iomanip>
00035 #include<list>
00036 #include<vector>
00037 #include<cmath>
00038
00039 #include "Calibration/IsolatedParticles/interface/CaloPropagateTrack.h"
00040 #include "Calibration/IsolatedParticles/interface/ChargeIsolation.h"
00041
00042 #include "Calibration/IsolatedParticles/plugins/IsolatedGenParticles.h"
00043
00044 IsolatedGenParticles::IsolatedGenParticles(const edm::ParameterSet& iConfig) {
00045
00046 genSrc_ = iConfig.getUntrackedParameter("GenSrc",std::string("generator"));
00047 useHepMC = iConfig.getUntrackedParameter<bool>("UseHepMC", false );
00048 pSeed = iConfig.getUntrackedParameter<double>("ChargedHadronSeedP", 1.0);
00049 ptMin = iConfig.getUntrackedParameter<double>("PTMin", 1.0);
00050 etaMax = iConfig.getUntrackedParameter<double>("MaxChargedHadronEta", 2.5);
00051 a_coneR = iConfig.getUntrackedParameter<double>("ConeRadius",34.98);
00052 a_charIsoR = a_coneR + 28.9;
00053 a_neutIsoR = a_charIsoR*0.726;
00054 a_mipR = iConfig.getUntrackedParameter<double>("ConeRadiusMIP",14.0);
00055 a_Isolation= iConfig.getUntrackedParameter<bool>("UseConeIsolation",false);
00056 pCutIsolate= iConfig.getUntrackedParameter<double>("PMaxIsolation",20.0);
00057 verbosity = iConfig.getUntrackedParameter<int>("Verbosity", 0);
00058
00059 debugL1Info_ = iConfig.getUntrackedParameter<bool>( "DebugL1Info", false );
00060 L1extraTauJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraTauJetSource");
00061 L1extraCenJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraCenJetSource");
00062 L1extraFwdJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraFwdJetSource");
00063 L1extraMuonSource_ = iConfig.getParameter<edm::InputTag>("L1extraMuonSource");
00064 L1extraIsoEmSource_ = iConfig.getParameter<edm::InputTag>("L1extraIsoEmSource");
00065 L1extraNonIsoEmSource_ = iConfig.getParameter<edm::InputTag>("L1extraNonIsoEmSource");
00066 L1GTReadoutRcdSource_ = iConfig.getParameter<edm::InputTag>("L1GTReadoutRcdSource");
00067 L1GTObjectMapRcdSource_= iConfig.getParameter<edm::InputTag>("L1GTObjectMapRcdSource");
00068
00069 if (!strcmp("Dummy", genSrc_.c_str())) {
00070 if (useHepMC) genSrc_ = "generator";
00071 else genSrc_ = "genParticles";
00072 }
00073 std::cout << "Generator Source " << genSrc_ << " Use HepMC " << useHepMC
00074 << " pSeed " << pSeed << " ptMin " << ptMin << " etaMax " << etaMax
00075 << "\n a_coneR " << a_coneR << " a_charIsoR " << a_charIsoR
00076 << " a_neutIsoR " << a_neutIsoR << " a_mipR " << a_mipR
00077 << " debug " << verbosity << " debugL1Info " << debugL1Info_ << "\n"
00078 << " Isolation Flag " << a_Isolation << " with cut "
00079 << pCutIsolate << " GeV\n"
00080 << " L1extraTauJetSource_ " << L1extraTauJetSource_
00081 << " L1extraCenJetSource_ " << L1extraCenJetSource_
00082 << " L1extraFwdJetSource_ " << L1extraFwdJetSource_
00083 << " L1extraMuonSource_ " << L1extraMuonSource_
00084 << " L1extraIsoEmSource_ " << L1extraIsoEmSource_
00085 << " L1extraNonIsoEmSource_ " << L1extraNonIsoEmSource_
00086 << " L1GTReadoutRcdSource_ " << L1GTReadoutRcdSource_
00087 << " L1GTObjectMapRcdSource_" << L1GTObjectMapRcdSource_
00088 << std::endl;
00089 }
00090
00091 IsolatedGenParticles::~IsolatedGenParticles() {
00092
00093 }
00094
00095 void IsolatedGenParticles::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup){
00096
00097 clearTreeVectors();
00098
00099 nEventProc++;
00100
00101 edm::ESHandle<MagneticField> bFieldH;
00102 iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
00103 bField = bFieldH.product();
00104
00105
00106 edm::ESHandle<ParticleDataTable> pdt;
00107 iSetup.getData(pdt);
00108
00109
00110 edm::Handle<edm::HepMCProduct> hepmc;
00111 edm::Handle<reco::GenParticleCollection> genParticles;
00112 if (useHepMC) iEvent.getByLabel(genSrc_, hepmc);
00113 else iEvent.getByLabel(genSrc_, genParticles);
00114
00115 edm::ESHandle<CaloGeometry> pG;
00116 iSetup.get<CaloGeometryRecord>().get(pG);
00117 const CaloGeometry* geo = pG.product();
00118
00119 edm::ESHandle<CaloTopology> theCaloTopology;
00120 iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
00121 const CaloTopology *caloTopology = theCaloTopology.product();
00122
00123 edm::ESHandle<HcalTopology> htopo;
00124 iSetup.get<IdealGeometryRecord>().get(htopo);
00125 const HcalTopology* theHBHETopology = htopo.product();
00126
00127
00128
00129 edm::Handle<L1GlobalTriggerReadoutRecord> gtRecord;
00130 iEvent.getByLabel(L1GTReadoutRcdSource_, gtRecord);
00131
00132 edm::Handle<L1GlobalTriggerObjectMapRecord> gtOMRec;
00133 iEvent.getByLabel(L1GTObjectMapRcdSource_, gtOMRec);
00134
00135
00136 if (!gtRecord.isValid()) {
00137 std::cout << "\nL1GlobalTriggerReadoutRecord with \n \nnot found"
00138 "\n --> returning false by default!\n" << std::endl;
00139 }
00140 if (!gtOMRec.isValid()) {
00141 std::cout << "\nL1GlobalTriggerObjectMapRecord with \n \nnot found"
00142 "\n --> returning false by default!\n" << std::endl;
00143 }
00144
00145
00146 const DecisionWord dWord = gtRecord->decisionWord();
00147 unsigned int numberTriggerBits= dWord.size();
00148
00149
00150 if ( !initL1){
00151 initL1=true;
00152 std::cout << "\n Number of Trigger bits " << numberTriggerBits << "\n\n";
00153 std::cout << "\tBit \t L1 Algorithm " << std::endl;
00154
00155
00156 const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtOMRec->gtObjectMap();
00157 for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin();
00158 itMap != objMapVec.end(); ++itMap) {
00159
00160
00161 int itrig = (*itMap).algoBitNumber();
00162
00163
00164 algoBitToName[itrig] = (*itMap).algoName();
00165
00166 std::cout << "\t" << itrig << "\t" << algoBitToName[itrig] << std::endl;
00167
00168
00169 h_L1AlgoNames->GetXaxis()->SetBinLabel(itrig+1, algoBitToName[itrig].c_str());
00170
00171 }
00172 }
00173
00174
00175 for (unsigned int iBit = 0; iBit < numberTriggerBits; ++iBit) {
00176 bool accept = dWord[iBit];
00177 t_L1Decision->push_back(accept);
00178
00179 if(debugL1Info_) std::cout << "Bit " << iBit << " " << algoBitToName[iBit] << " " << accept << std::endl;
00180
00181 if(accept) h_L1AlgoNames->Fill(iBit);
00182 }
00183
00184
00185
00186 edm::Handle<l1extra::L1JetParticleCollection> l1TauHandle;
00187 iEvent.getByLabel(L1extraTauJetSource_,l1TauHandle);
00188 l1extra::L1JetParticleCollection::const_iterator itr;
00189 for(itr = l1TauHandle->begin(); itr != l1TauHandle->end(); ++itr ) {
00190 t_L1TauJetPt ->push_back( itr->pt() );
00191 t_L1TauJetEta ->push_back( itr->eta() );
00192 t_L1TauJetPhi ->push_back( itr->phi() );
00193 if(debugL1Info_) {
00194 std::cout << "tauJ p/pt " << itr->momentum() << " " << itr->pt()
00195 << " eta/phi " << itr->eta() << " " << itr->phi()
00196 << std::endl;
00197 }
00198 }
00199
00200
00201 edm::Handle<l1extra::L1JetParticleCollection> l1CenJetHandle;
00202 iEvent.getByLabel(L1extraCenJetSource_,l1CenJetHandle);
00203 for( itr = l1CenJetHandle->begin(); itr != l1CenJetHandle->end(); ++itr ) {
00204 t_L1CenJetPt ->push_back( itr->pt() );
00205 t_L1CenJetEta ->push_back( itr->eta() );
00206 t_L1CenJetPhi ->push_back( itr->phi() );
00207 if(debugL1Info_) {
00208 std::cout << "cenJ p/pt " << itr->momentum() << " " << itr->pt()
00209 << " eta/phi " << itr->eta() << " " << itr->phi()
00210 << std::endl;
00211 }
00212 }
00213
00214 edm::Handle<l1extra::L1JetParticleCollection> l1FwdJetHandle;
00215 iEvent.getByLabel(L1extraFwdJetSource_,l1FwdJetHandle);
00216 for( itr = l1FwdJetHandle->begin(); itr != l1FwdJetHandle->end(); ++itr ) {
00217 t_L1FwdJetPt ->push_back( itr->pt() );
00218 t_L1FwdJetEta ->push_back( itr->eta() );
00219 t_L1FwdJetPhi ->push_back( itr->phi() );
00220 if(debugL1Info_) {
00221 std::cout << "fwdJ p/pt " << itr->momentum() << " " << itr->pt()
00222 << " eta/phi " << itr->eta() << " " << itr->phi()
00223 << std::endl;
00224 }
00225 }
00226
00227 l1extra::L1EmParticleCollection::const_iterator itrEm;
00228 edm::Handle<l1extra::L1EmParticleCollection> l1IsoEmHandle ;
00229 iEvent.getByLabel(L1extraIsoEmSource_, l1IsoEmHandle);
00230 for( itrEm = l1IsoEmHandle->begin(); itrEm != l1IsoEmHandle->end(); ++itrEm ) {
00231 t_L1IsoEMPt ->push_back( itrEm->pt() );
00232 t_L1IsoEMEta ->push_back( itrEm->eta() );
00233 t_L1IsoEMPhi ->push_back( itrEm->phi() );
00234 if(debugL1Info_) {
00235 std::cout << "isoEm p/pt " << itrEm->momentum() << " " << itrEm->pt()
00236 << " eta/phi " << itrEm->eta() << " " << itrEm->phi()
00237 << std::endl;
00238 }
00239 }
00240
00241 edm::Handle<l1extra::L1EmParticleCollection> l1NonIsoEmHandle ;
00242 iEvent.getByLabel(L1extraNonIsoEmSource_, l1NonIsoEmHandle);
00243 for( itrEm = l1NonIsoEmHandle->begin(); itrEm != l1NonIsoEmHandle->end(); ++itrEm ) {
00244 t_L1NonIsoEMPt ->push_back( itrEm->pt() );
00245 t_L1NonIsoEMEta ->push_back( itrEm->eta() );
00246 t_L1NonIsoEMPhi ->push_back( itrEm->phi() );
00247 if(debugL1Info_) {
00248 std::cout << "nonIsoEm p/pt " << itrEm->momentum() << " " << itrEm->pt()
00249 << " eta/phi " << itrEm->eta() << " " << itrEm->phi()
00250 << std::endl;
00251 }
00252 }
00253
00254
00255 l1extra::L1MuonParticleCollection::const_iterator itrMu;
00256 edm::Handle<l1extra::L1MuonParticleCollection> l1MuHandle ;
00257 iEvent.getByLabel(L1extraMuonSource_, l1MuHandle);
00258 for( itrMu = l1MuHandle->begin(); itrMu != l1MuHandle->end(); ++itrMu ) {
00259 t_L1MuonPt ->push_back( itrMu->pt() );
00260 t_L1MuonEta ->push_back( itrMu->eta() );
00261 t_L1MuonPhi ->push_back( itrMu->phi() );
00262 if(debugL1Info_) {
00263 std::cout << "l1muon p/pt " << itrMu->momentum() << " " << itrMu->pt()
00264 << " eta/phi " << itrMu->eta() << " " << itrMu->phi()
00265 << std::endl;
00266 }
00267 }
00268
00269
00270 GlobalPoint posVec, posECAL;
00271 math::XYZTLorentzVector momVec;
00272 if (verbosity>0) std::cout << "event number " << iEvent.id().event() <<std::endl;
00273
00274 if (useHepMC) {
00275 const HepMC::GenEvent *myGenEvent = hepmc->GetEvent();
00276 std::vector<spr::propagatedGenTrackID> trackIDs = spr::propagateCALO(myGenEvent, pdt, geo, bField, etaMax, false);
00277
00278 for (unsigned int indx=0; indx<trackIDs.size(); ++indx) {
00279 int charge = trackIDs[indx].charge;
00280 HepMC::GenEvent::particle_const_iterator p = trackIDs[indx].trkItr;
00281 momVec = math::XYZTLorentzVector((*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
00282 if (verbosity>1) std::cout << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge << " momVec " << momVec << std::endl;
00283
00284 if (trackIDs[indx].ok && (std::abs(trackIDs[indx].pdgId)<11 ||
00285 std::abs(trackIDs[indx].pdgId)>=21)) {
00286
00287 if (momVec.Pt() > ptMin && std::abs(momVec.eta()) < etaMax) {
00288 posVec = GlobalPoint(0.1*(*p)->production_vertex()->position().x(),
00289 0.1*(*p)->production_vertex()->position().y(),
00290 0.1*(*p)->production_vertex()->position().z());
00291 posECAL = trackIDs[indx].pointECAL;
00292 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
00293 if (verbosity>1) std::cout << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL " << trackIDs[indx].okHCAL << std::endl;
00294 if (trackIDs[indx].okECAL) {
00295 if ( std::abs(charge)>0 ) {
00296 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, false);
00297 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, false);
00298 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, false);
00299 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, false);
00300 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, false);
00301 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, false);
00302 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,10,10, isoinfo21x21, false);
00303 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,12,12, isoinfo25x25, false);
00304 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,15,15, isoinfo31x31, false);
00305 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_mipR, trackIDs[indx].directionECAL, isoinfoR, false);
00306 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_neutIsoR, trackIDs[indx].directionECAL, isoinfoIsoR, false);
00307 if (trackIDs[indx].okHCAL) {
00308 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, false);
00309 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, false);
00310 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, false);
00311 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, false);
00312 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_coneR, trackIDs[indx].directionHCAL, isoinfoHCR, false);
00313 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_charIsoR, trackIDs[indx].directionHCAL, isoinfoIsoHCR, false);
00314 }
00315
00316 bool saveTrack = true;
00317 if (a_Isolation) saveTrack = (isoinfoR.maxNearP < pCutIsolate);
00318 else saveTrack = (isoinfo7x7.maxNearP < pCutIsolate);
00319 if (saveTrack) fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
00320 }
00321 }
00322 } else {
00323 fillTrack (posVec, momVec, posECAL, 0, false, false);
00324 }
00325 }
00326 }
00327 } else {
00328 std::vector<spr::propagatedGenParticleID> trackIDs = spr::propagateCALO(genParticles, pdt, geo, bField, etaMax, (verbosity>0));
00329
00330 for (unsigned int indx=0; indx<trackIDs.size(); ++indx) {
00331 int charge = trackIDs[indx].charge;
00332 reco::GenParticleCollection::const_iterator p = trackIDs[indx].trkItr;
00333
00334 momVec = math::XYZTLorentzVector(p->momentum().x(), p->momentum().y(), p->momentum().z(), p->energy());
00335 if (verbosity>1) std::cout << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge << " momVec " << momVec << std::endl;
00336
00337 if (trackIDs[indx].ok && std::abs(trackIDs[indx].pdgId)>21) {
00338
00339 if (verbosity>1) std::cout << " pt " << momVec.Pt() << " eta " << momVec.eta() << std::endl;
00340 if (momVec.Pt() > ptMin && std::abs(momVec.eta()) < etaMax) {
00341 posVec = GlobalPoint(p->vertex().x(), p->vertex().y(), p->vertex().z());
00342 posECAL = trackIDs[indx].pointECAL;
00343 if (verbosity>0) std::cout << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL " << trackIDs[indx].okHCAL << std::endl;
00344 fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
00345 if (trackIDs[indx].okECAL) {
00346 if ( std::abs(charge)>0 ) {
00347 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, verbosity>1);
00348 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, verbosity>0);
00349 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, verbosity>1);
00350 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, verbosity>1);
00351 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, verbosity>1);
00352 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, verbosity>1);
00353 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,10,10, isoinfo21x21, verbosity>1);
00354 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,12,12, isoinfo25x25, verbosity>1);
00355 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,15,15, isoinfo31x31, verbosity>1);
00356 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_mipR, trackIDs[indx].directionECAL, isoinfoR, verbosity>1);
00357 spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_neutIsoR, trackIDs[indx].directionECAL, isoinfoIsoR, verbosity>1);
00358 if (trackIDs[indx].okHCAL) {
00359 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, verbosity>1);
00360 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, verbosity>1);
00361 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, verbosity>1);
00362 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, verbosity>1);
00363 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_coneR, trackIDs[indx].directionHCAL, isoinfoHCR, verbosity>1);
00364 spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_charIsoR, trackIDs[indx].directionHCAL, isoinfoIsoHCR, verbosity>1);
00365 }
00366
00367 bool saveTrack = true;
00368 if (a_Isolation) saveTrack = (isoinfoIsoR.maxNearP < pCutIsolate);
00369 else saveTrack = (isoinfo7x7.maxNearP < pCutIsolate);
00370 if (saveTrack) fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
00371 }
00372 }
00373 } else {
00374 fillTrack (posVec, momVec, posECAL, 0, false, false);
00375 }
00376 }
00377 }
00378 }
00379
00380
00381 h_NEventProc->SetBinContent(1,nEventProc);
00382 tree->Fill();
00383
00384 }
00385
00386 void IsolatedGenParticles::beginJob() {
00387
00388 nEventProc=0;
00389
00390 initL1 = false;
00391
00392 double tempgen_TH[NPBins+1] = { 0.0, 5.0, 12.0, 300.0};
00393 for(int i=0; i<=NPBins; i++) genPartPBins[i] = tempgen_TH[i];
00394
00395 double tempgen_Eta[NEtaBins+1] = {0.0, 0.5, 1.1, 1.7, 2.3};
00396 for(int i=0; i<=NEtaBins; i++) genPartEtaBins[i] = tempgen_Eta[i];
00397
00398 BookHistograms();
00399
00400 }
00401
00402 void IsolatedGenParticles::endJob() {
00403 }
00404
00405 double IsolatedGenParticles::DeltaPhi(double v1, double v2) {
00406
00407
00408
00409 double pi = 3.141592654;
00410 double twopi = 6.283185307;
00411
00412 double diff = std::abs(v2 - v1);
00413 double corr = twopi - diff;
00414 if (diff < pi){ return diff;} else { return corr;}
00415 }
00416
00417 double IsolatedGenParticles::DeltaR(double eta1, double phi1, double eta2, double phi2) {
00418 double deta = eta1 - eta2;
00419 double dphi = DeltaPhi(phi1, phi2);
00420 return std::sqrt(deta*deta + dphi*dphi);
00421 }
00422
00423 double IsolatedGenParticles::DeltaR2(double eta1, double phi1, double eta2, double phi2) {
00424 double deta = eta1 - eta2;
00425 double dphi = DeltaPhi(phi1, phi2);
00426 return deta*deta + dphi*dphi;
00427 }
00428
00429 void IsolatedGenParticles::fillTrack (GlobalPoint & posVec, math::XYZTLorentzVector & momVec, GlobalPoint & posECAL, int pdgId, bool okECAL, bool accept) {
00430
00431 if (accept) {
00432 t_isoTrkPAll ->push_back( momVec.P() );
00433 t_isoTrkPtAll ->push_back( momVec.Pt() );
00434 t_isoTrkPhiAll ->push_back( momVec.phi() );
00435 t_isoTrkEtaAll ->push_back( momVec.eta() );
00436 t_isoTrkPdgIdAll ->push_back( pdgId ) ;
00437 if (okECAL) {
00438 double phi1 = momVec.phi();
00439 double phi2 = (posECAL - posVec).phi();
00440 double dphi = DeltaPhi( phi1, phi2 );
00441 double deta = momVec.eta() - (posECAL - posVec).eta();
00442 t_isoTrkDPhiAll ->push_back( dphi );
00443 t_isoTrkDEtaAll ->push_back( deta );
00444 } else {
00445 t_isoTrkDPhiAll ->push_back( 999.0 );
00446 t_isoTrkDEtaAll ->push_back( 999.0 );
00447 }
00448 } else {
00449 t_isoTrkDPhiAll ->push_back( -999.0 );
00450 t_isoTrkDEtaAll ->push_back( -999.0 );
00451 }
00452 }
00453
00454 void IsolatedGenParticles::fillIsolatedTrack(math::XYZTLorentzVector & momVec, GlobalPoint & posECAL, int pdgId) {
00455
00456 t_isoTrkP ->push_back(momVec.P());
00457 t_isoTrkPt ->push_back(momVec.Pt());
00458 t_isoTrkEne ->push_back(momVec.E());
00459 t_isoTrkEta ->push_back(momVec.eta());
00460 t_isoTrkPhi ->push_back(momVec.phi());
00461 t_isoTrkEtaEC ->push_back(posECAL.eta());
00462 t_isoTrkPhiEC ->push_back(posECAL.phi());
00463 t_isoTrkPdgId ->push_back(pdgId);
00464
00465 t_maxNearP31x31 ->push_back(isoinfo31x31.maxNearP);
00466 t_cHadronEne31x31 ->push_back(isoinfo31x31.cHadronEne);
00467 t_cHadronEne31x31_1 ->push_back(isoinfo31x31.cHadronEne_[0]);
00468 t_cHadronEne31x31_2 ->push_back(isoinfo31x31.cHadronEne_[1]);
00469 t_cHadronEne31x31_3 ->push_back(isoinfo31x31.cHadronEne_[2]);
00470 t_nHadronEne31x31 ->push_back(isoinfo31x31.nHadronEne);
00471 t_photonEne31x31 ->push_back(isoinfo31x31.photonEne);
00472 t_eleEne31x31 ->push_back(isoinfo31x31.eleEne);
00473 t_muEne31x31 ->push_back(isoinfo31x31.muEne);
00474
00475 t_maxNearP25x25 ->push_back(isoinfo25x25.maxNearP);
00476 t_cHadronEne25x25 ->push_back(isoinfo25x25.cHadronEne);
00477 t_cHadronEne25x25_1 ->push_back(isoinfo25x25.cHadronEne_[0]);
00478 t_cHadronEne25x25_2 ->push_back(isoinfo25x25.cHadronEne_[1]);
00479 t_cHadronEne25x25_3 ->push_back(isoinfo25x25.cHadronEne_[2]);
00480 t_nHadronEne25x25 ->push_back(isoinfo25x25.nHadronEne);
00481 t_photonEne25x25 ->push_back(isoinfo25x25.photonEne);
00482 t_eleEne25x25 ->push_back(isoinfo25x25.eleEne);
00483 t_muEne25x25 ->push_back(isoinfo25x25.muEne);
00484
00485 t_maxNearP21x21 ->push_back(isoinfo21x21.maxNearP);
00486 t_cHadronEne21x21 ->push_back(isoinfo21x21.cHadronEne);
00487 t_cHadronEne21x21_1 ->push_back(isoinfo21x21.cHadronEne_[0]);
00488 t_cHadronEne21x21_2 ->push_back(isoinfo21x21.cHadronEne_[1]);
00489 t_cHadronEne21x21_3 ->push_back(isoinfo21x21.cHadronEne_[2]);
00490 t_nHadronEne21x21 ->push_back(isoinfo21x21.nHadronEne);
00491 t_photonEne21x21 ->push_back(isoinfo21x21.photonEne);
00492 t_eleEne21x21 ->push_back(isoinfo21x21.eleEne);
00493 t_muEne21x21 ->push_back(isoinfo21x21.muEne);
00494
00495 t_maxNearP15x15 ->push_back(isoinfo15x15.maxNearP);
00496 t_cHadronEne15x15 ->push_back(isoinfo15x15.cHadronEne);
00497 t_cHadronEne15x15_1 ->push_back(isoinfo15x15.cHadronEne_[0]);
00498 t_cHadronEne15x15_2 ->push_back(isoinfo15x15.cHadronEne_[1]);
00499 t_cHadronEne15x15_3 ->push_back(isoinfo15x15.cHadronEne_[2]);
00500 t_nHadronEne15x15 ->push_back(isoinfo15x15.nHadronEne);
00501 t_photonEne15x15 ->push_back(isoinfo15x15.photonEne);
00502 t_eleEne15x15 ->push_back(isoinfo15x15.eleEne);
00503 t_muEne15x15 ->push_back(isoinfo15x15.muEne);
00504
00505 t_maxNearP11x11 ->push_back(isoinfo11x11.maxNearP);
00506 t_cHadronEne11x11 ->push_back(isoinfo11x11.cHadronEne);
00507 t_cHadronEne11x11_1 ->push_back(isoinfo11x11.cHadronEne_[0]);
00508 t_cHadronEne11x11_2 ->push_back(isoinfo11x11.cHadronEne_[1]);
00509 t_cHadronEne11x11_3 ->push_back(isoinfo11x11.cHadronEne_[2]);
00510 t_nHadronEne11x11 ->push_back(isoinfo11x11.nHadronEne);
00511 t_photonEne11x11 ->push_back(isoinfo11x11.photonEne);
00512 t_eleEne11x11 ->push_back(isoinfo11x11.eleEne);
00513 t_muEne11x11 ->push_back(isoinfo11x11.muEne);
00514
00515 t_maxNearP9x9 ->push_back(isoinfo9x9.maxNearP);
00516 t_cHadronEne9x9 ->push_back(isoinfo9x9.cHadronEne);
00517 t_cHadronEne9x9_1 ->push_back(isoinfo9x9.cHadronEne_[0]);
00518 t_cHadronEne9x9_2 ->push_back(isoinfo9x9.cHadronEne_[1]);
00519 t_cHadronEne9x9_3 ->push_back(isoinfo9x9.cHadronEne_[2]);
00520 t_nHadronEne9x9 ->push_back(isoinfo9x9.nHadronEne);
00521 t_photonEne9x9 ->push_back(isoinfo9x9.photonEne);
00522 t_eleEne9x9 ->push_back(isoinfo9x9.eleEne);
00523 t_muEne9x9 ->push_back(isoinfo9x9.muEne);
00524
00525 t_maxNearP7x7 ->push_back(isoinfo7x7.maxNearP);
00526 t_cHadronEne7x7 ->push_back(isoinfo7x7.cHadronEne);
00527 t_cHadronEne7x7_1 ->push_back(isoinfo7x7.cHadronEne_[0]);
00528 t_cHadronEne7x7_2 ->push_back(isoinfo7x7.cHadronEne_[1]);
00529 t_cHadronEne7x7_3 ->push_back(isoinfo7x7.cHadronEne_[2]);
00530 t_nHadronEne7x7 ->push_back(isoinfo7x7.nHadronEne);
00531 t_photonEne7x7 ->push_back(isoinfo7x7.photonEne);
00532 t_eleEne7x7 ->push_back(isoinfo7x7.eleEne);
00533 t_muEne7x7 ->push_back(isoinfo7x7.muEne);
00534
00535 t_maxNearP3x3 ->push_back(isoinfo3x3.maxNearP);
00536 t_cHadronEne3x3 ->push_back(isoinfo3x3.cHadronEne);
00537 t_cHadronEne3x3_1 ->push_back(isoinfo3x3.cHadronEne_[0]);
00538 t_cHadronEne3x3_2 ->push_back(isoinfo3x3.cHadronEne_[1]);
00539 t_cHadronEne3x3_3 ->push_back(isoinfo3x3.cHadronEne_[2]);
00540 t_nHadronEne3x3 ->push_back(isoinfo3x3.nHadronEne);
00541 t_photonEne3x3 ->push_back(isoinfo3x3.photonEne);
00542 t_eleEne3x3 ->push_back(isoinfo3x3.eleEne);
00543 t_muEne3x3 ->push_back(isoinfo3x3.muEne);
00544
00545 t_maxNearP1x1 ->push_back(isoinfo1x1.maxNearP);
00546 t_cHadronEne1x1 ->push_back(isoinfo1x1.cHadronEne);
00547 t_cHadronEne1x1_1 ->push_back(isoinfo1x1.cHadronEne_[0]);
00548 t_cHadronEne1x1_2 ->push_back(isoinfo1x1.cHadronEne_[1]);
00549 t_cHadronEne1x1_3 ->push_back(isoinfo1x1.cHadronEne_[2]);
00550 t_nHadronEne1x1 ->push_back(isoinfo1x1.nHadronEne);
00551 t_photonEne1x1 ->push_back(isoinfo1x1.photonEne);
00552 t_eleEne1x1 ->push_back(isoinfo1x1.eleEne);
00553 t_muEne1x1 ->push_back(isoinfo1x1.muEne);
00554
00555 t_maxNearPHC1x1 ->push_back(isoinfoHC1x1.maxNearP);
00556 t_cHadronEneHC1x1 ->push_back(isoinfoHC1x1.cHadronEne);
00557 t_cHadronEneHC1x1_1 ->push_back(isoinfoHC1x1.cHadronEne_[0]);
00558 t_cHadronEneHC1x1_2 ->push_back(isoinfoHC1x1.cHadronEne_[1]);
00559 t_cHadronEneHC1x1_3 ->push_back(isoinfoHC1x1.cHadronEne_[2]);
00560 t_nHadronEneHC1x1 ->push_back(isoinfoHC1x1.nHadronEne);
00561 t_photonEneHC1x1 ->push_back(isoinfoHC1x1.photonEne);
00562 t_eleEneHC1x1 ->push_back(isoinfoHC1x1.eleEne);
00563 t_muEneHC1x1 ->push_back(isoinfoHC1x1.muEne);
00564
00565 t_maxNearPHC3x3 ->push_back(isoinfoHC3x3.maxNearP);
00566 t_cHadronEneHC3x3 ->push_back(isoinfoHC3x3.cHadronEne);
00567 t_cHadronEneHC3x3_1 ->push_back(isoinfoHC3x3.cHadronEne_[0]);
00568 t_cHadronEneHC3x3_2 ->push_back(isoinfoHC3x3.cHadronEne_[1]);
00569 t_cHadronEneHC3x3_3 ->push_back(isoinfoHC3x3.cHadronEne_[2]);
00570 t_nHadronEneHC3x3 ->push_back(isoinfoHC3x3.nHadronEne);
00571 t_photonEneHC3x3 ->push_back(isoinfoHC3x3.photonEne);
00572 t_eleEneHC3x3 ->push_back(isoinfoHC3x3.eleEne);
00573 t_muEneHC3x3 ->push_back(isoinfoHC3x3.muEne);
00574
00575 t_maxNearPHC5x5 ->push_back(isoinfoHC5x5.maxNearP);
00576 t_cHadronEneHC5x5 ->push_back(isoinfoHC5x5.cHadronEne);
00577 t_cHadronEneHC5x5_1 ->push_back(isoinfoHC5x5.cHadronEne_[0]);
00578 t_cHadronEneHC5x5_2 ->push_back(isoinfoHC5x5.cHadronEne_[1]);
00579 t_cHadronEneHC5x5_3 ->push_back(isoinfoHC5x5.cHadronEne_[2]);
00580 t_nHadronEneHC5x5 ->push_back(isoinfoHC5x5.nHadronEne);
00581 t_photonEneHC5x5 ->push_back(isoinfoHC5x5.photonEne);
00582 t_eleEneHC5x5 ->push_back(isoinfoHC5x5.eleEne);
00583 t_muEneHC5x5 ->push_back(isoinfoHC5x5.muEne);
00584
00585 t_maxNearPHC7x7 ->push_back(isoinfoHC7x7.maxNearP);
00586 t_cHadronEneHC7x7 ->push_back(isoinfoHC7x7.cHadronEne);
00587 t_cHadronEneHC7x7_1 ->push_back(isoinfoHC7x7.cHadronEne_[0]);
00588 t_cHadronEneHC7x7_2 ->push_back(isoinfoHC7x7.cHadronEne_[1]);
00589 t_cHadronEneHC7x7_3 ->push_back(isoinfoHC7x7.cHadronEne_[2]);
00590 t_nHadronEneHC7x7 ->push_back(isoinfoHC7x7.nHadronEne);
00591 t_photonEneHC7x7 ->push_back(isoinfoHC7x7.photonEne);
00592 t_eleEneHC7x7 ->push_back(isoinfoHC7x7.eleEne);
00593 t_muEneHC7x7 ->push_back(isoinfoHC7x7.muEne);
00594
00595 t_maxNearPR ->push_back(isoinfoR.maxNearP);
00596 t_cHadronEneR ->push_back(isoinfoR.cHadronEne);
00597 t_cHadronEneR_1 ->push_back(isoinfoR.cHadronEne_[0]);
00598 t_cHadronEneR_2 ->push_back(isoinfoR.cHadronEne_[1]);
00599 t_cHadronEneR_3 ->push_back(isoinfoR.cHadronEne_[2]);
00600 t_nHadronEneR ->push_back(isoinfoR.nHadronEne);
00601 t_photonEneR ->push_back(isoinfoR.photonEne);
00602 t_eleEneR ->push_back(isoinfoR.eleEne);
00603 t_muEneR ->push_back(isoinfoR.muEne);
00604
00605 t_maxNearPIsoR ->push_back(isoinfoIsoR.maxNearP);
00606 t_cHadronEneIsoR ->push_back(isoinfoIsoR.cHadronEne);
00607 t_cHadronEneIsoR_1 ->push_back(isoinfoIsoR.cHadronEne_[0]);
00608 t_cHadronEneIsoR_2 ->push_back(isoinfoIsoR.cHadronEne_[1]);
00609 t_cHadronEneIsoR_3 ->push_back(isoinfoIsoR.cHadronEne_[2]);
00610 t_nHadronEneIsoR ->push_back(isoinfoIsoR.nHadronEne);
00611 t_photonEneIsoR ->push_back(isoinfoIsoR.photonEne);
00612 t_eleEneIsoR ->push_back(isoinfoIsoR.eleEne);
00613 t_muEneIsoR ->push_back(isoinfoIsoR.muEne);
00614
00615 t_maxNearPHCR ->push_back(isoinfoHCR.maxNearP);
00616 t_cHadronEneHCR ->push_back(isoinfoHCR.cHadronEne);
00617 t_cHadronEneHCR_1 ->push_back(isoinfoHCR.cHadronEne_[0]);
00618 t_cHadronEneHCR_2 ->push_back(isoinfoHCR.cHadronEne_[1]);
00619 t_cHadronEneHCR_3 ->push_back(isoinfoHCR.cHadronEne_[2]);
00620 t_nHadronEneHCR ->push_back(isoinfoHCR.nHadronEne);
00621 t_photonEneHCR ->push_back(isoinfoHCR.photonEne);
00622 t_eleEneHCR ->push_back(isoinfoHCR.eleEne);
00623 t_muEneHCR ->push_back(isoinfoHCR.muEne);
00624
00625 t_maxNearPIsoHCR ->push_back(isoinfoIsoHCR.maxNearP);
00626 t_cHadronEneIsoHCR ->push_back(isoinfoIsoHCR.cHadronEne);
00627 t_cHadronEneIsoHCR_1 ->push_back(isoinfoIsoHCR.cHadronEne_[0]);
00628 t_cHadronEneIsoHCR_2 ->push_back(isoinfoIsoHCR.cHadronEne_[1]);
00629 t_cHadronEneIsoHCR_3 ->push_back(isoinfoIsoHCR.cHadronEne_[2]);
00630 t_nHadronEneIsoHCR ->push_back(isoinfoIsoHCR.nHadronEne);
00631 t_photonEneIsoHCR ->push_back(isoinfoIsoHCR.photonEne);
00632 t_eleEneIsoHCR ->push_back(isoinfoIsoHCR.eleEne);
00633 t_muEneIsoHCR ->push_back(isoinfoIsoHCR.muEne);
00634 }
00635
00636 void IsolatedGenParticles::BookHistograms(){
00637
00638
00639
00640 h_NEventProc = fs->make<TH1I>("h_NEventProc", "h_NEventProc", 2, -0.5, 0.5);
00641 h_L1AlgoNames = fs->make<TH1I>("h_L1AlgoNames", "h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
00642
00643 TFileDirectory dir1 = fs->mkdir( "dPhidEta" );
00644
00645
00646 tree = fs->make<TTree>("tree", "tree");
00647
00648 t_isoTrkPAll = new std::vector<double>();
00649 t_isoTrkPtAll = new std::vector<double>();
00650 t_isoTrkPhiAll = new std::vector<double>();
00651 t_isoTrkEtaAll = new std::vector<double>();
00652 t_isoTrkDPhiAll = new std::vector<double>();
00653 t_isoTrkDEtaAll = new std::vector<double>();
00654 t_isoTrkPdgIdAll = new std::vector<double>();
00655
00656 t_isoTrkP = new std::vector<double>();
00657 t_isoTrkPt = new std::vector<double>();
00658 t_isoTrkEne = new std::vector<double>();
00659 t_isoTrkEta = new std::vector<double>();
00660 t_isoTrkPhi = new std::vector<double>();
00661 t_isoTrkEtaEC = new std::vector<double>();
00662 t_isoTrkPhiEC = new std::vector<double>();
00663 t_isoTrkPdgId = new std::vector<double>();
00664
00665 t_maxNearP31x31 = new std::vector<double>();
00666 t_cHadronEne31x31 = new std::vector<double>();
00667 t_cHadronEne31x31_1 = new std::vector<double>();
00668 t_cHadronEne31x31_2 = new std::vector<double>();
00669 t_cHadronEne31x31_3 = new std::vector<double>();
00670 t_nHadronEne31x31 = new std::vector<double>();
00671 t_photonEne31x31 = new std::vector<double>();
00672 t_eleEne31x31 = new std::vector<double>();
00673 t_muEne31x31 = new std::vector<double>();
00674
00675 t_maxNearP25x25 = new std::vector<double>();
00676 t_cHadronEne25x25 = new std::vector<double>();
00677 t_cHadronEne25x25_1 = new std::vector<double>();
00678 t_cHadronEne25x25_2 = new std::vector<double>();
00679 t_cHadronEne25x25_3 = new std::vector<double>();
00680 t_nHadronEne25x25 = new std::vector<double>();
00681 t_photonEne25x25 = new std::vector<double>();
00682 t_eleEne25x25 = new std::vector<double>();
00683 t_muEne25x25 = new std::vector<double>();
00684
00685 t_maxNearP21x21 = new std::vector<double>();
00686 t_cHadronEne21x21 = new std::vector<double>();
00687 t_cHadronEne21x21_1 = new std::vector<double>();
00688 t_cHadronEne21x21_2 = new std::vector<double>();
00689 t_cHadronEne21x21_3 = new std::vector<double>();
00690 t_nHadronEne21x21 = new std::vector<double>();
00691 t_photonEne21x21 = new std::vector<double>();
00692 t_eleEne21x21 = new std::vector<double>();
00693 t_muEne21x21 = new std::vector<double>();
00694
00695 t_maxNearP15x15 = new std::vector<double>();
00696 t_cHadronEne15x15 = new std::vector<double>();
00697 t_cHadronEne15x15_1 = new std::vector<double>();
00698 t_cHadronEne15x15_2 = new std::vector<double>();
00699 t_cHadronEne15x15_3 = new std::vector<double>();
00700 t_nHadronEne15x15 = new std::vector<double>();
00701 t_photonEne15x15 = new std::vector<double>();
00702 t_eleEne15x15 = new std::vector<double>();
00703 t_muEne15x15 = new std::vector<double>();
00704
00705 t_maxNearP11x11 = new std::vector<double>();
00706 t_cHadronEne11x11 = new std::vector<double>();
00707 t_cHadronEne11x11_1 = new std::vector<double>();
00708 t_cHadronEne11x11_2 = new std::vector<double>();
00709 t_cHadronEne11x11_3 = new std::vector<double>();
00710 t_nHadronEne11x11 = new std::vector<double>();
00711 t_photonEne11x11 = new std::vector<double>();
00712 t_eleEne11x11 = new std::vector<double>();
00713 t_muEne11x11 = new std::vector<double>();
00714
00715 t_maxNearP9x9 = new std::vector<double>();
00716 t_cHadronEne9x9 = new std::vector<double>();
00717 t_cHadronEne9x9_1 = new std::vector<double>();
00718 t_cHadronEne9x9_2 = new std::vector<double>();
00719 t_cHadronEne9x9_3 = new std::vector<double>();
00720 t_nHadronEne9x9 = new std::vector<double>();
00721 t_photonEne9x9 = new std::vector<double>();
00722 t_eleEne9x9 = new std::vector<double>();
00723 t_muEne9x9 = new std::vector<double>();
00724
00725 t_maxNearP7x7 = new std::vector<double>();
00726 t_cHadronEne7x7 = new std::vector<double>();
00727 t_cHadronEne7x7_1 = new std::vector<double>();
00728 t_cHadronEne7x7_2 = new std::vector<double>();
00729 t_cHadronEne7x7_3 = new std::vector<double>();
00730 t_nHadronEne7x7 = new std::vector<double>();
00731 t_photonEne7x7 = new std::vector<double>();
00732 t_eleEne7x7 = new std::vector<double>();
00733 t_muEne7x7 = new std::vector<double>();
00734
00735 t_maxNearP3x3 = new std::vector<double>();
00736 t_cHadronEne3x3 = new std::vector<double>();
00737 t_cHadronEne3x3_1 = new std::vector<double>();
00738 t_cHadronEne3x3_2 = new std::vector<double>();
00739 t_cHadronEne3x3_3 = new std::vector<double>();
00740 t_nHadronEne3x3 = new std::vector<double>();
00741 t_photonEne3x3 = new std::vector<double>();
00742 t_eleEne3x3 = new std::vector<double>();
00743 t_muEne3x3 = new std::vector<double>();
00744
00745 t_maxNearP1x1 = new std::vector<double>();
00746 t_cHadronEne1x1 = new std::vector<double>();
00747 t_cHadronEne1x1_1 = new std::vector<double>();
00748 t_cHadronEne1x1_2 = new std::vector<double>();
00749 t_cHadronEne1x1_3 = new std::vector<double>();
00750 t_nHadronEne1x1 = new std::vector<double>();
00751 t_photonEne1x1 = new std::vector<double>();
00752 t_eleEne1x1 = new std::vector<double>();
00753 t_muEne1x1 = new std::vector<double>();
00754
00755 t_maxNearPHC1x1 = new std::vector<double>();
00756 t_cHadronEneHC1x1 = new std::vector<double>();
00757 t_cHadronEneHC1x1_1 = new std::vector<double>();
00758 t_cHadronEneHC1x1_2 = new std::vector<double>();
00759 t_cHadronEneHC1x1_3 = new std::vector<double>();
00760 t_nHadronEneHC1x1 = new std::vector<double>();
00761 t_photonEneHC1x1 = new std::vector<double>();
00762 t_eleEneHC1x1 = new std::vector<double>();
00763 t_muEneHC1x1 = new std::vector<double>();
00764
00765 t_maxNearPHC3x3 = new std::vector<double>();
00766 t_cHadronEneHC3x3 = new std::vector<double>();
00767 t_cHadronEneHC3x3_1 = new std::vector<double>();
00768 t_cHadronEneHC3x3_2 = new std::vector<double>();
00769 t_cHadronEneHC3x3_3 = new std::vector<double>();
00770 t_nHadronEneHC3x3 = new std::vector<double>();
00771 t_photonEneHC3x3 = new std::vector<double>();
00772 t_eleEneHC3x3 = new std::vector<double>();
00773 t_muEneHC3x3 = new std::vector<double>();
00774
00775 t_maxNearPHC5x5 = new std::vector<double>();
00776 t_cHadronEneHC5x5 = new std::vector<double>();
00777 t_cHadronEneHC5x5_1 = new std::vector<double>();
00778 t_cHadronEneHC5x5_2 = new std::vector<double>();
00779 t_cHadronEneHC5x5_3 = new std::vector<double>();
00780 t_nHadronEneHC5x5 = new std::vector<double>();
00781 t_photonEneHC5x5 = new std::vector<double>();
00782 t_eleEneHC5x5 = new std::vector<double>();
00783 t_muEneHC5x5 = new std::vector<double>();
00784
00785 t_maxNearPHC7x7 = new std::vector<double>();
00786 t_cHadronEneHC7x7 = new std::vector<double>();
00787 t_cHadronEneHC7x7_1 = new std::vector<double>();
00788 t_cHadronEneHC7x7_2 = new std::vector<double>();
00789 t_cHadronEneHC7x7_3 = new std::vector<double>();
00790 t_nHadronEneHC7x7 = new std::vector<double>();
00791 t_photonEneHC7x7 = new std::vector<double>();
00792 t_eleEneHC7x7 = new std::vector<double>();
00793 t_muEneHC7x7 = new std::vector<double>();
00794
00795 t_maxNearPR = new std::vector<double>();
00796 t_cHadronEneR = new std::vector<double>();
00797 t_cHadronEneR_1 = new std::vector<double>();
00798 t_cHadronEneR_2 = new std::vector<double>();
00799 t_cHadronEneR_3 = new std::vector<double>();
00800 t_nHadronEneR = new std::vector<double>();
00801 t_photonEneR = new std::vector<double>();
00802 t_eleEneR = new std::vector<double>();
00803 t_muEneR = new std::vector<double>();
00804
00805 t_maxNearPIsoR = new std::vector<double>();
00806 t_cHadronEneIsoR = new std::vector<double>();
00807 t_cHadronEneIsoR_1 = new std::vector<double>();
00808 t_cHadronEneIsoR_2 = new std::vector<double>();
00809 t_cHadronEneIsoR_3 = new std::vector<double>();
00810 t_nHadronEneIsoR = new std::vector<double>();
00811 t_photonEneIsoR = new std::vector<double>();
00812 t_eleEneIsoR = new std::vector<double>();
00813 t_muEneIsoR = new std::vector<double>();
00814
00815 t_maxNearPHCR = new std::vector<double>();
00816 t_cHadronEneHCR = new std::vector<double>();
00817 t_cHadronEneHCR_1 = new std::vector<double>();
00818 t_cHadronEneHCR_2 = new std::vector<double>();
00819 t_cHadronEneHCR_3 = new std::vector<double>();
00820 t_nHadronEneHCR = new std::vector<double>();
00821 t_photonEneHCR = new std::vector<double>();
00822 t_eleEneHCR = new std::vector<double>();
00823 t_muEneHCR = new std::vector<double>();
00824
00825 t_maxNearPIsoHCR = new std::vector<double>();
00826 t_cHadronEneIsoHCR = new std::vector<double>();
00827 t_cHadronEneIsoHCR_1 = new std::vector<double>();
00828 t_cHadronEneIsoHCR_2 = new std::vector<double>();
00829 t_cHadronEneIsoHCR_3 = new std::vector<double>();
00830 t_nHadronEneIsoHCR = new std::vector<double>();
00831 t_photonEneIsoHCR = new std::vector<double>();
00832 t_eleEneIsoHCR = new std::vector<double>();
00833 t_muEneIsoHCR = new std::vector<double>();
00834
00835
00836 t_L1Decision = new std::vector<int>();
00837 t_L1CenJetPt = new std::vector<double>();
00838 t_L1CenJetEta = new std::vector<double>();
00839 t_L1CenJetPhi = new std::vector<double>();
00840 t_L1FwdJetPt = new std::vector<double>();
00841 t_L1FwdJetEta = new std::vector<double>();
00842 t_L1FwdJetPhi = new std::vector<double>();
00843 t_L1TauJetPt = new std::vector<double>();
00844 t_L1TauJetEta = new std::vector<double>();
00845 t_L1TauJetPhi = new std::vector<double>();
00846 t_L1MuonPt = new std::vector<double>();
00847 t_L1MuonEta = new std::vector<double>();
00848 t_L1MuonPhi = new std::vector<double>();
00849 t_L1IsoEMPt = new std::vector<double>();
00850 t_L1IsoEMEta = new std::vector<double>();
00851 t_L1IsoEMPhi = new std::vector<double>();
00852 t_L1NonIsoEMPt = new std::vector<double>();
00853 t_L1NonIsoEMEta = new std::vector<double>();
00854 t_L1NonIsoEMPhi = new std::vector<double>();
00855 t_L1METPt = new std::vector<double>();
00856 t_L1METEta = new std::vector<double>();
00857 t_L1METPhi = new std::vector<double>();
00858
00859
00860
00861 tree->Branch("t_isoTrkPAll", "vector<double>", &t_isoTrkPAll);
00862 tree->Branch("t_isoTrkPtAll", "vector<double>", &t_isoTrkPtAll);
00863 tree->Branch("t_isoTrkPhiAll", "vector<double>", &t_isoTrkPhiAll);
00864 tree->Branch("t_isoTrkEtaAll", "vector<double>", &t_isoTrkEtaAll);
00865 tree->Branch("t_isoTrkDPhiAll", "vector<double>", &t_isoTrkDPhiAll);
00866 tree->Branch("t_isoTrkDEtaAll", "vector<double>", &t_isoTrkDEtaAll);
00867 tree->Branch("t_isoTrkPdgIdAll", "vector<double>", &t_isoTrkPdgIdAll);
00868
00869 tree->Branch("t_isoTrkP", "vector<double>", &t_isoTrkP);
00870 tree->Branch("t_isoTrkPt", "vector<double>", &t_isoTrkPt);
00871 tree->Branch("t_isoTrkEne", "vector<double>", &t_isoTrkEne);
00872 tree->Branch("t_isoTrkEta", "vector<double>", &t_isoTrkEta);
00873 tree->Branch("t_isoTrkPhi", "vector<double>", &t_isoTrkPhi);
00874 tree->Branch("t_isoTrkEtaEC", "vector<double>", &t_isoTrkEtaEC);
00875 tree->Branch("t_isoTrkPhiEC", "vector<double>", &t_isoTrkPhiEC);
00876 tree->Branch("t_isoTrkPdgId", "vector<double>", &t_isoTrkPdgId);
00877
00878 tree->Branch("t_maxNearP31x31", "vector<double>", &t_maxNearP31x31);
00879 tree->Branch("t_cHadronEne31x31", "vector<double>", &t_cHadronEne31x31);
00880 tree->Branch("t_cHadronEne31x31_1", "vector<double>", &t_cHadronEne31x31_1);
00881 tree->Branch("t_cHadronEne31x31_2", "vector<double>", &t_cHadronEne31x31_2);
00882 tree->Branch("t_cHadronEne31x31_3", "vector<double>", &t_cHadronEne31x31_3);
00883 tree->Branch("t_nHadronEne31x31", "vector<double>", &t_nHadronEne31x31);
00884 tree->Branch("t_photonEne31x31", "vector<double>", &t_photonEne31x31);
00885 tree->Branch("t_eleEne31x31", "vector<double>", &t_eleEne31x31);
00886 tree->Branch("t_muEne31x31", "vector<double>", &t_muEne31x31);
00887
00888 tree->Branch("t_maxNearP25x25", "vector<double>", &t_maxNearP25x25);
00889 tree->Branch("t_cHadronEne25x25", "vector<double>", &t_cHadronEne25x25);
00890 tree->Branch("t_cHadronEne25x25_1", "vector<double>", &t_cHadronEne25x25_1);
00891 tree->Branch("t_cHadronEne25x25_2", "vector<double>", &t_cHadronEne25x25_2);
00892 tree->Branch("t_cHadronEne25x25_3", "vector<double>", &t_cHadronEne25x25_3);
00893 tree->Branch("t_nHadronEne25x25", "vector<double>", &t_nHadronEne25x25);
00894 tree->Branch("t_photonEne25x25", "vector<double>", &t_photonEne25x25);
00895 tree->Branch("t_eleEne25x25", "vector<double>", &t_eleEne25x25);
00896 tree->Branch("t_muEne25x25", "vector<double>", &t_muEne25x25);
00897
00898 tree->Branch("t_maxNearP21x21", "vector<double>", &t_maxNearP21x21);
00899 tree->Branch("t_cHadronEne21x21", "vector<double>", &t_cHadronEne21x21);
00900 tree->Branch("t_cHadronEne21x21_1", "vector<double>", &t_cHadronEne21x21_1);
00901 tree->Branch("t_cHadronEne21x21_2", "vector<double>", &t_cHadronEne21x21_2);
00902 tree->Branch("t_cHadronEne21x21_3", "vector<double>", &t_cHadronEne21x21_3);
00903 tree->Branch("t_nHadronEne21x21", "vector<double>", &t_nHadronEne21x21);
00904 tree->Branch("t_photonEne21x21", "vector<double>", &t_photonEne21x21);
00905 tree->Branch("t_eleEne21x21", "vector<double>", &t_eleEne21x21);
00906 tree->Branch("t_muEne21x21", "vector<double>", &t_muEne21x21);
00907
00908 tree->Branch("t_maxNearP15x15", "vector<double>", &t_maxNearP15x15);
00909 tree->Branch("t_cHadronEne15x15", "vector<double>", &t_cHadronEne15x15);
00910 tree->Branch("t_cHadronEne15x15_1", "vector<double>", &t_cHadronEne15x15_1);
00911 tree->Branch("t_cHadronEne15x15_2", "vector<double>", &t_cHadronEne15x15_2);
00912 tree->Branch("t_cHadronEne15x15_3", "vector<double>", &t_cHadronEne15x15_3);
00913 tree->Branch("t_nHadronEne15x15", "vector<double>", &t_nHadronEne15x15);
00914 tree->Branch("t_photonEne15x15", "vector<double>", &t_photonEne15x15);
00915 tree->Branch("t_eleEne15x15", "vector<double>", &t_eleEne15x15);
00916 tree->Branch("t_muEne15x15", "vector<double>", &t_muEne15x15);
00917
00918 tree->Branch("t_maxNearP11x11", "vector<double>", &t_maxNearP11x11);
00919 tree->Branch("t_cHadronEne11x11", "vector<double>", &t_cHadronEne11x11);
00920 tree->Branch("t_cHadronEne11x11_1", "vector<double>", &t_cHadronEne11x11_1);
00921 tree->Branch("t_cHadronEne11x11_2", "vector<double>", &t_cHadronEne11x11_2);
00922 tree->Branch("t_cHadronEne11x11_3", "vector<double>", &t_cHadronEne11x11_3);
00923 tree->Branch("t_nHadronEne11x11", "vector<double>", &t_nHadronEne11x11);
00924 tree->Branch("t_photonEne11x11", "vector<double>", &t_photonEne11x11);
00925 tree->Branch("t_eleEne11x11", "vector<double>", &t_eleEne11x11);
00926 tree->Branch("t_muEne11x11", "vector<double>", &t_muEne11x11);
00927
00928 tree->Branch("t_maxNearP9x9", "vector<double>", &t_maxNearP9x9);
00929 tree->Branch("t_cHadronEne9x9", "vector<double>", &t_cHadronEne9x9);
00930 tree->Branch("t_cHadronEne9x9_1", "vector<double>", &t_cHadronEne9x9_1);
00931 tree->Branch("t_cHadronEne9x9_2", "vector<double>", &t_cHadronEne9x9_2);
00932 tree->Branch("t_cHadronEne9x9_3", "vector<double>", &t_cHadronEne9x9_3);
00933 tree->Branch("t_nHadronEne9x9", "vector<double>", &t_nHadronEne9x9);
00934 tree->Branch("t_photonEne9x9", "vector<double>", &t_photonEne9x9);
00935 tree->Branch("t_eleEne9x9", "vector<double>", &t_eleEne9x9);
00936 tree->Branch("t_muEne9x9", "vector<double>", &t_muEne9x9);
00937
00938 tree->Branch("t_maxNearP7x7", "vector<double>", &t_maxNearP7x7);
00939 tree->Branch("t_cHadronEne7x7", "vector<double>", &t_cHadronEne7x7);
00940 tree->Branch("t_cHadronEne7x7_1", "vector<double>", &t_cHadronEne7x7_1);
00941 tree->Branch("t_cHadronEne7x7_2", "vector<double>", &t_cHadronEne7x7_2);
00942 tree->Branch("t_cHadronEne7x7_3", "vector<double>", &t_cHadronEne7x7_3);
00943 tree->Branch("t_nHadronEne7x7", "vector<double>", &t_nHadronEne7x7);
00944 tree->Branch("t_photonEne7x7", "vector<double>", &t_photonEne7x7);
00945 tree->Branch("t_eleEne7x7", "vector<double>", &t_eleEne7x7);
00946 tree->Branch("t_muEne7x7", "vector<double>", &t_muEne7x7);
00947
00948 tree->Branch("t_maxNearP3x3", "vector<double>", &t_maxNearP3x3);
00949 tree->Branch("t_cHadronEne3x3", "vector<double>", &t_cHadronEne3x3);
00950 tree->Branch("t_cHadronEne3x3_1", "vector<double>", &t_cHadronEne3x3_1);
00951 tree->Branch("t_cHadronEne3x3_2", "vector<double>", &t_cHadronEne3x3_2);
00952 tree->Branch("t_cHadronEne3x3_3", "vector<double>", &t_cHadronEne3x3_3);
00953 tree->Branch("t_nHadronEne3x3", "vector<double>", &t_nHadronEne3x3);
00954 tree->Branch("t_photonEne3x3", "vector<double>", &t_photonEne3x3);
00955 tree->Branch("t_eleEne3x3", "vector<double>", &t_eleEne3x3);
00956 tree->Branch("t_muEne3x3", "vector<double>", &t_muEne3x3);
00957
00958 tree->Branch("t_maxNearP1x1", "vector<double>", &t_maxNearP1x1);
00959 tree->Branch("t_cHadronEne1x1", "vector<double>", &t_cHadronEne1x1);
00960 tree->Branch("t_cHadronEne1x1_1", "vector<double>", &t_cHadronEne1x1_1);
00961 tree->Branch("t_cHadronEne1x1_2", "vector<double>", &t_cHadronEne1x1_2);
00962 tree->Branch("t_cHadronEne1x1_3", "vector<double>", &t_cHadronEne1x1_3);
00963 tree->Branch("t_nHadronEne1x1", "vector<double>", &t_nHadronEne1x1);
00964 tree->Branch("t_photonEne1x1", "vector<double>", &t_photonEne1x1);
00965 tree->Branch("t_eleEne1x1", "vector<double>", &t_eleEne1x1);
00966 tree->Branch("t_muEne1x1", "vector<double>", &t_muEne1x1);
00967
00968 tree->Branch("t_maxNearPHC1x1", "vector<double>", &t_maxNearPHC1x1);
00969 tree->Branch("t_cHadronEneHC1x1", "vector<double>", &t_cHadronEneHC1x1);
00970 tree->Branch("t_cHadronEneHC1x1_1", "vector<double>", &t_cHadronEneHC1x1_1);
00971 tree->Branch("t_cHadronEneHC1x1_2", "vector<double>", &t_cHadronEneHC1x1_2);
00972 tree->Branch("t_cHadronEneHC1x1_3", "vector<double>", &t_cHadronEneHC1x1_3);
00973 tree->Branch("t_nHadronEneHC1x1", "vector<double>", &t_nHadronEneHC1x1);
00974 tree->Branch("t_photonEneHC1x1", "vector<double>", &t_photonEneHC1x1);
00975 tree->Branch("t_eleEneHC1x1", "vector<double>", &t_eleEneHC1x1);
00976 tree->Branch("t_muEneHC1x1", "vector<double>", &t_muEneHC1x1);
00977
00978 tree->Branch("t_maxNearPHC3x3", "vector<double>", &t_maxNearPHC3x3);
00979 tree->Branch("t_cHadronEneHC3x3", "vector<double>", &t_cHadronEneHC3x3);
00980 tree->Branch("t_cHadronEneHC3x3_1", "vector<double>", &t_cHadronEneHC3x3_1);
00981 tree->Branch("t_cHadronEneHC3x3_2", "vector<double>", &t_cHadronEneHC3x3_2);
00982 tree->Branch("t_cHadronEneHC3x3_3", "vector<double>", &t_cHadronEneHC3x3_3);
00983 tree->Branch("t_nHadronEneHC3x3", "vector<double>", &t_nHadronEneHC3x3);
00984 tree->Branch("t_photonEneHC3x3", "vector<double>", &t_photonEneHC3x3);
00985 tree->Branch("t_eleEneHC3x3", "vector<double>", &t_eleEneHC3x3);
00986 tree->Branch("t_muEneHC3x3", "vector<double>", &t_muEneHC3x3);
00987
00988 tree->Branch("t_maxNearPHC5x5", "vector<double>", &t_maxNearPHC5x5);
00989 tree->Branch("t_cHadronEneHC5x5", "vector<double>", &t_cHadronEneHC5x5);
00990 tree->Branch("t_cHadronEneHC5x5_1", "vector<double>", &t_cHadronEneHC5x5_1);
00991 tree->Branch("t_cHadronEneHC5x5_2", "vector<double>", &t_cHadronEneHC5x5_2);
00992 tree->Branch("t_cHadronEneHC5x5_3", "vector<double>", &t_cHadronEneHC5x5_3);
00993 tree->Branch("t_nHadronEneHC5x5", "vector<double>", &t_nHadronEneHC5x5);
00994 tree->Branch("t_photonEneHC5x5", "vector<double>", &t_photonEneHC5x5);
00995 tree->Branch("t_eleEneHC5x5", "vector<double>", &t_eleEneHC5x5);
00996 tree->Branch("t_muEneHC5x5", "vector<double>", &t_muEneHC5x5);
00997
00998 tree->Branch("t_maxNearPHC7x7", "vector<double>", &t_maxNearPHC7x7);
00999 tree->Branch("t_cHadronEneHC7x7", "vector<double>", &t_cHadronEneHC7x7);
01000 tree->Branch("t_cHadronEneHC7x7_1", "vector<double>", &t_cHadronEneHC7x7_1);
01001 tree->Branch("t_cHadronEneHC7x7_2", "vector<double>", &t_cHadronEneHC7x7_2);
01002 tree->Branch("t_cHadronEneHC7x7_3", "vector<double>", &t_cHadronEneHC7x7_3);
01003 tree->Branch("t_nHadronEneHC7x7", "vector<double>", &t_nHadronEneHC7x7);
01004 tree->Branch("t_photonEneHC7x7", "vector<double>", &t_photonEneHC7x7);
01005 tree->Branch("t_eleEneHC7x7", "vector<double>", &t_eleEneHC7x7);
01006 tree->Branch("t_muEneHC7x7", "vector<double>", &t_muEneHC7x7);
01007
01008 tree->Branch("t_maxNearPR", "vector<double>", &t_maxNearPR);
01009 tree->Branch("t_cHadronEneR", "vector<double>", &t_cHadronEneR);
01010 tree->Branch("t_cHadronEneR_1", "vector<double>", &t_cHadronEneR_1);
01011 tree->Branch("t_cHadronEneR_2", "vector<double>", &t_cHadronEneR_2);
01012 tree->Branch("t_cHadronEneR_3", "vector<double>", &t_cHadronEneR_3);
01013 tree->Branch("t_nHadronEneR", "vector<double>", &t_nHadronEneR);
01014 tree->Branch("t_photonEneR", "vector<double>", &t_photonEneR);
01015 tree->Branch("t_eleEneR", "vector<double>", &t_eleEneR);
01016 tree->Branch("t_muEneR", "vector<double>", &t_muEneR);
01017
01018 tree->Branch("t_maxNearPIsoR", "vector<double>", &t_maxNearPIsoR);
01019 tree->Branch("t_cHadronEneIsoR", "vector<double>", &t_cHadronEneIsoR);
01020 tree->Branch("t_cHadronEneIsoR_1", "vector<double>", &t_cHadronEneIsoR_1);
01021 tree->Branch("t_cHadronEneIsoR_2", "vector<double>", &t_cHadronEneIsoR_2);
01022 tree->Branch("t_cHadronEneIsoR_3", "vector<double>", &t_cHadronEneIsoR_3);
01023 tree->Branch("t_nHadronEneIsoR", "vector<double>", &t_nHadronEneIsoR);
01024 tree->Branch("t_photonEneIsoR", "vector<double>", &t_photonEneIsoR);
01025 tree->Branch("t_eleEneIsoR", "vector<double>", &t_eleEneIsoR);
01026 tree->Branch("t_muEneIsoR", "vector<double>", &t_muEneIsoR);
01027
01028 tree->Branch("t_maxNearPHCR", "vector<double>", &t_maxNearPHCR);
01029 tree->Branch("t_cHadronEneHCR", "vector<double>", &t_cHadronEneHCR);
01030 tree->Branch("t_cHadronEneHCR_1", "vector<double>", &t_cHadronEneHCR_1);
01031 tree->Branch("t_cHadronEneHCR_2", "vector<double>", &t_cHadronEneHCR_2);
01032 tree->Branch("t_cHadronEneHCR_3", "vector<double>", &t_cHadronEneHCR_3);
01033 tree->Branch("t_nHadronEneHCR", "vector<double>", &t_nHadronEneHCR);
01034 tree->Branch("t_photonEneHCR", "vector<double>", &t_photonEneHCR);
01035 tree->Branch("t_eleEneHCR", "vector<double>", &t_eleEneHCR);
01036 tree->Branch("t_muEneHCR", "vector<double>", &t_muEneHCR);
01037
01038 tree->Branch("t_maxNearPIsoHCR", "vector<double>", &t_maxNearPIsoHCR);
01039 tree->Branch("t_cHadronEneIsoHCR", "vector<double>", &t_cHadronEneIsoHCR);
01040 tree->Branch("t_cHadronEneIsoHCR_1", "vector<double>", &t_cHadronEneIsoHCR_1);
01041 tree->Branch("t_cHadronEneIsoHCR_2", "vector<double>", &t_cHadronEneIsoHCR_2);
01042 tree->Branch("t_cHadronEneIsoHCR_3", "vector<double>", &t_cHadronEneIsoHCR_3);
01043 tree->Branch("t_nHadronEneIsoHCR", "vector<double>", &t_nHadronEneIsoHCR);
01044 tree->Branch("t_photonEneIsoHCR", "vector<double>", &t_photonEneIsoHCR);
01045 tree->Branch("t_eleEneIsoHCR", "vector<double>", &t_eleEneIsoHCR);
01046 tree->Branch("t_muEneIsoHCR", "vector<double>", &t_muEneIsoHCR);
01047
01048 tree->Branch("t_L1Decision", "vector<int>", &t_L1Decision);
01049 tree->Branch("t_L1CenJetPt", "vector<double>", &t_L1CenJetPt);
01050 tree->Branch("t_L1CenJetEta", "vector<double>", &t_L1CenJetEta);
01051 tree->Branch("t_L1CenJetPhi", "vector<double>", &t_L1CenJetPhi);
01052 tree->Branch("t_L1FwdJetPt", "vector<double>", &t_L1FwdJetPt);
01053 tree->Branch("t_L1FwdJetEta", "vector<double>", &t_L1FwdJetEta);
01054 tree->Branch("t_L1FwdJetPhi", "vector<double>", &t_L1FwdJetPhi);
01055 tree->Branch("t_L1TauJetPt", "vector<double>", &t_L1TauJetPt);
01056 tree->Branch("t_L1TauJetEta", "vector<double>", &t_L1TauJetEta);
01057 tree->Branch("t_L1TauJetPhi", "vector<double>", &t_L1TauJetPhi);
01058 tree->Branch("t_L1MuonPt", "vector<double>", &t_L1MuonPt);
01059 tree->Branch("t_L1MuonEta", "vector<double>", &t_L1MuonEta);
01060 tree->Branch("t_L1MuonPhi", "vector<double>", &t_L1MuonPhi);
01061 tree->Branch("t_L1IsoEMPt", "vector<double>", &t_L1IsoEMPt);
01062 tree->Branch("t_L1IsoEMEta", "vector<double>", &t_L1IsoEMEta);
01063 tree->Branch("t_L1IsoEMPhi", "vector<double>", &t_L1IsoEMPhi);
01064 tree->Branch("t_L1NonIsoEMPt", "vector<double>", &t_L1NonIsoEMPt);
01065 tree->Branch("t_L1NonIsoEMEta", "vector<double>", &t_L1NonIsoEMEta);
01066 tree->Branch("t_L1NonIsoEMPhi", "vector<double>", &t_L1NonIsoEMPhi);
01067 tree->Branch("t_L1METPt", "vector<double>", &t_L1METPt);
01068 tree->Branch("t_L1METEta", "vector<double>", &t_L1METEta);
01069 tree->Branch("t_L1METPhi", "vector<double>", &t_L1METPhi);
01070 }
01071
01072
01073 void IsolatedGenParticles::clearTreeVectors() {
01074
01075
01076
01077
01078 t_isoTrkPAll ->clear();
01079 t_isoTrkPtAll ->clear();
01080 t_isoTrkPhiAll ->clear();
01081 t_isoTrkEtaAll ->clear();
01082 t_isoTrkDPhiAll ->clear();
01083 t_isoTrkDEtaAll ->clear();
01084 t_isoTrkPdgIdAll ->clear();
01085
01086 t_isoTrkP ->clear();
01087 t_isoTrkPt ->clear();
01088 t_isoTrkEne ->clear();
01089 t_isoTrkEta ->clear();
01090 t_isoTrkPhi ->clear();
01091 t_isoTrkEtaEC ->clear();
01092 t_isoTrkPhiEC ->clear();
01093 t_isoTrkPdgId ->clear();
01094
01095 t_maxNearP31x31 ->clear();
01096 t_cHadronEne31x31 ->clear();
01097 t_cHadronEne31x31_1 ->clear();
01098 t_cHadronEne31x31_2 ->clear();
01099 t_cHadronEne31x31_3 ->clear();
01100 t_nHadronEne31x31 ->clear();
01101 t_photonEne31x31 ->clear();
01102 t_eleEne31x31 ->clear();
01103 t_muEne31x31 ->clear();
01104
01105 t_maxNearP25x25 ->clear();
01106 t_cHadronEne25x25 ->clear();
01107 t_cHadronEne25x25_1 ->clear();
01108 t_cHadronEne25x25_2 ->clear();
01109 t_cHadronEne25x25_3 ->clear();
01110 t_nHadronEne25x25 ->clear();
01111 t_photonEne25x25 ->clear();
01112 t_eleEne25x25 ->clear();
01113 t_muEne25x25 ->clear();
01114
01115 t_maxNearP21x21 ->clear();
01116 t_cHadronEne21x21 ->clear();
01117 t_cHadronEne21x21_1 ->clear();
01118 t_cHadronEne21x21_2 ->clear();
01119 t_cHadronEne21x21_3 ->clear();
01120 t_nHadronEne21x21 ->clear();
01121 t_photonEne21x21 ->clear();
01122 t_eleEne21x21 ->clear();
01123 t_muEne21x21 ->clear();
01124
01125 t_maxNearP15x15 ->clear();
01126 t_cHadronEne15x15 ->clear();
01127 t_cHadronEne15x15_1 ->clear();
01128 t_cHadronEne15x15_2 ->clear();
01129 t_cHadronEne15x15_3 ->clear();
01130 t_nHadronEne15x15 ->clear();
01131 t_photonEne15x15 ->clear();
01132 t_eleEne15x15 ->clear();
01133 t_muEne15x15 ->clear();
01134
01135 t_maxNearP11x11 ->clear();
01136 t_cHadronEne11x11 ->clear();
01137 t_cHadronEne11x11_1 ->clear();
01138 t_cHadronEne11x11_2 ->clear();
01139 t_cHadronEne11x11_3 ->clear();
01140 t_nHadronEne11x11 ->clear();
01141 t_photonEne11x11 ->clear();
01142 t_eleEne11x11 ->clear();
01143 t_muEne11x11 ->clear();
01144
01145 t_maxNearP9x9 ->clear();
01146 t_cHadronEne9x9 ->clear();
01147 t_cHadronEne9x9_1 ->clear();
01148 t_cHadronEne9x9_2 ->clear();
01149 t_cHadronEne9x9_3 ->clear();
01150 t_nHadronEne9x9 ->clear();
01151 t_photonEne9x9 ->clear();
01152 t_eleEne9x9 ->clear();
01153 t_muEne9x9 ->clear();
01154
01155 t_maxNearP7x7 ->clear();
01156 t_cHadronEne7x7 ->clear();
01157 t_cHadronEne7x7_1 ->clear();
01158 t_cHadronEne7x7_2 ->clear();
01159 t_cHadronEne7x7_3 ->clear();
01160 t_nHadronEne7x7 ->clear();
01161 t_photonEne7x7 ->clear();
01162 t_eleEne7x7 ->clear();
01163 t_muEne7x7 ->clear();
01164
01165 t_maxNearP3x3 ->clear();
01166 t_cHadronEne3x3 ->clear();
01167 t_cHadronEne3x3_1 ->clear();
01168 t_cHadronEne3x3_2 ->clear();
01169 t_cHadronEne3x3_3 ->clear();
01170 t_nHadronEne3x3 ->clear();
01171 t_photonEne3x3 ->clear();
01172 t_eleEne3x3 ->clear();
01173 t_muEne3x3 ->clear();
01174
01175 t_maxNearP1x1 ->clear();
01176 t_cHadronEne1x1 ->clear();
01177 t_cHadronEne1x1_1 ->clear();
01178 t_cHadronEne1x1_2 ->clear();
01179 t_cHadronEne1x1_3 ->clear();
01180 t_nHadronEne1x1 ->clear();
01181 t_photonEne1x1 ->clear();
01182 t_eleEne1x1 ->clear();
01183 t_muEne1x1 ->clear();
01184
01185 t_maxNearPHC1x1 ->clear();
01186 t_cHadronEneHC1x1 ->clear();
01187 t_cHadronEneHC1x1_1 ->clear();
01188 t_cHadronEneHC1x1_2 ->clear();
01189 t_cHadronEneHC1x1_3 ->clear();
01190 t_nHadronEneHC1x1 ->clear();
01191 t_photonEneHC1x1 ->clear();
01192 t_eleEneHC1x1 ->clear();
01193 t_muEneHC1x1 ->clear();
01194
01195 t_maxNearPHC3x3 ->clear();
01196 t_cHadronEneHC3x3 ->clear();
01197 t_cHadronEneHC3x3_1 ->clear();
01198 t_cHadronEneHC3x3_2 ->clear();
01199 t_cHadronEneHC3x3_3 ->clear();
01200 t_nHadronEneHC3x3 ->clear();
01201 t_photonEneHC3x3 ->clear();
01202 t_eleEneHC3x3 ->clear();
01203 t_muEneHC3x3 ->clear();
01204
01205 t_maxNearPHC5x5 ->clear();
01206 t_cHadronEneHC5x5 ->clear();
01207 t_cHadronEneHC5x5_1 ->clear();
01208 t_cHadronEneHC5x5_2 ->clear();
01209 t_cHadronEneHC5x5_3 ->clear();
01210 t_nHadronEneHC5x5 ->clear();
01211 t_photonEneHC5x5 ->clear();
01212 t_eleEneHC5x5 ->clear();
01213 t_muEneHC5x5 ->clear();
01214
01215 t_maxNearPHC7x7 ->clear();
01216 t_cHadronEneHC7x7 ->clear();
01217 t_cHadronEneHC7x7_1 ->clear();
01218 t_cHadronEneHC7x7_2 ->clear();
01219 t_cHadronEneHC7x7_3 ->clear();
01220 t_nHadronEneHC7x7 ->clear();
01221 t_photonEneHC7x7 ->clear();
01222 t_eleEneHC7x7 ->clear();
01223 t_muEneHC7x7 ->clear();
01224
01225 t_maxNearPR ->clear();
01226 t_cHadronEneR ->clear();
01227 t_cHadronEneR_1 ->clear();
01228 t_cHadronEneR_2 ->clear();
01229 t_cHadronEneR_3 ->clear();
01230 t_nHadronEneR ->clear();
01231 t_photonEneR ->clear();
01232 t_eleEneR ->clear();
01233 t_muEneR ->clear();
01234
01235 t_maxNearPIsoR ->clear();
01236 t_cHadronEneIsoR ->clear();
01237 t_cHadronEneIsoR_1 ->clear();
01238 t_cHadronEneIsoR_2 ->clear();
01239 t_cHadronEneIsoR_3 ->clear();
01240 t_nHadronEneIsoR ->clear();
01241 t_photonEneIsoR ->clear();
01242 t_eleEneIsoR ->clear();
01243 t_muEneIsoR ->clear();
01244
01245 t_maxNearPHCR ->clear();
01246 t_cHadronEneHCR ->clear();
01247 t_cHadronEneHCR_1 ->clear();
01248 t_cHadronEneHCR_2 ->clear();
01249 t_cHadronEneHCR_3 ->clear();
01250 t_nHadronEneHCR ->clear();
01251 t_photonEneHCR ->clear();
01252 t_eleEneHCR ->clear();
01253 t_muEneHCR ->clear();
01254
01255 t_maxNearPIsoHCR ->clear();
01256 t_cHadronEneIsoHCR ->clear();
01257 t_cHadronEneIsoHCR_1 ->clear();
01258 t_cHadronEneIsoHCR_2 ->clear();
01259 t_cHadronEneIsoHCR_3 ->clear();
01260 t_nHadronEneIsoHCR ->clear();
01261 t_photonEneIsoHCR ->clear();
01262 t_eleEneIsoHCR ->clear();
01263 t_muEneIsoHCR ->clear();
01264
01265 t_L1Decision ->clear();
01266 t_L1CenJetPt ->clear();
01267 t_L1CenJetEta ->clear();
01268 t_L1CenJetPhi ->clear();
01269 t_L1FwdJetPt ->clear();
01270 t_L1FwdJetEta ->clear();
01271 t_L1FwdJetPhi ->clear();
01272 t_L1TauJetPt ->clear();
01273 t_L1TauJetEta ->clear();
01274 t_L1TauJetPhi ->clear();
01275 t_L1MuonPt ->clear();
01276 t_L1MuonEta ->clear();
01277 t_L1MuonPhi ->clear();
01278 t_L1IsoEMPt ->clear();
01279 t_L1IsoEMEta ->clear();
01280 t_L1IsoEMPhi ->clear();
01281 t_L1NonIsoEMPt ->clear();
01282 t_L1NonIsoEMEta ->clear();
01283 t_L1NonIsoEMPhi ->clear();
01284 t_L1METPt ->clear();
01285 t_L1METEta ->clear();
01286 t_L1METPhi ->clear();
01287 }
01288
01289
01290 DEFINE_FWK_MODULE(IsolatedGenParticles);