- Timestamp:
- Mar 10, 2009, 11:52:16 AM (16 years ago)
- Location:
- trunk/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/JetsUtil.cc
r307 r310 120 120 } 121 121 122 vector<fastjet::PseudoJet> JetsUtil::RunJets(const vector<fastjet::PseudoJet>& input_particles, const vector<TRootTracks> & TrackCentral, vector<int> &NTrackJet )122 vector<fastjet::PseudoJet> JetsUtil::RunJets(const vector<fastjet::PseudoJet>& input_particles, const vector<TRootTracks> & TrackCentral, vector<int> &NTrackJet, vector<float> &EHADEEM,D_CaloTowerList list_of_active_towers) 123 123 { 124 124 inclusive_jets.clear(); … … 135 135 sorted_jets = sorted_by_pt(inclusive_jets); 136 136 137 // check number of tracks in jets137 //Bin tracks to make the link 138 138 float iEtaTrack[TrackCentral.size()]; 139 139 float iPhiTrack[TrackCentral.size()]; … … 145 145 for (unsigned int i = 0; i < sorted_jets.size(); i++) 146 146 { 147 //check number of tracks in jets 147 148 numTrackJet=0; 148 149 vector<fastjet::PseudoJet> constituents = clust_seq.constituents(sorted_jets[i]); … … 155 156 } 156 157 NTrackJet.push_back(numTrackJet); 158 //now, get EHad over EEm 159 float EmVal=0,HadVal=0; 160 for (unsigned int j = 0; j < constituents.size(); j++) 161 { 162 D_CaloTower calConsti(list_of_active_towers.getElement(constituents[j].eta(),constituents[j].phi())); 163 EmVal += calConsti.getEem(); 164 HadVal += calConsti.getEhad(); 165 } 166 EHADEEM.push_back(HadVal/EmVal); 157 167 } 158 168 } … … 161 171 } 162 172 163 164 165 void JetsUtil::RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootGenParticle>& NFCentralQ, const vector<int> &NTrackJet) 173 vector<fastjet::PseudoJet> JetsUtil::RunJetsResol(const vector<fastjet::PseudoJet>& input_particles) 174 { 175 inclusive_jets.clear(); 176 sorted_jets.clear(); 177 // run the jet clustering with the above jet definition 178 if(input_particles.size()!=0) 179 { 180 fastjet::ClusterSequence clust_seq(input_particles, jet_def); 181 // extract the inclusive jets with pt > 5 GeV 182 double ptmin = 5.0; 183 inclusive_jets = clust_seq.inclusive_jets(ptmin); 184 185 // sort jets into increasing pt 186 sorted_jets = sorted_by_pt(inclusive_jets); 187 } 188 return sorted_jets; 189 } 190 191 192 void JetsUtil::RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootGenParticle>& NFCentralQ, const vector<int> &NTrackJet, const vector<float> &EHADEEM) 166 193 { 167 194 TRootJet *elementJet; … … 175 202 elementJet->Set(JET); 176 203 elementJet->NTracks = NTrackJet[i]; 204 elementJet->EHoverEE = EHADEEM[i]; 177 205 178 206 // b-jets … … 185 213 } 186 214 187 void JetsUtil::RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector<fastjet::PseudoJet> & sorted_jets,const vector<PhysicsTower> & towers, const vector<TRootTracks> & TrackCentral, const vector<int> &NTrackJet )215 void JetsUtil::RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector<fastjet::PseudoJet> & sorted_jets,const vector<PhysicsTower> & towers, const vector<TRootTracks> & TrackCentral, const vector<int> &NTrackJet, const vector<float> &EHADEEM) 188 216 { 189 217 TRootTauJet *elementTauJet; … … 205 233 elementTauJet->NTracks=NTrackJet[i]; 206 234 elementTauJet->Charge = charge; 235 elementTauJet->EHoverEE = EHADEEM[i]; 207 236 } // if tau jet 208 237 } // if JET.eta < tracker - tau_cone : Tau jet identification -
trunk/src/LHCOConverter.cc
r307 r310 174 174 particle = (TRootParticle*) branch->At(i); 175 175 double temp = sqrt(particle->PT*particle->PT + particle->Pz * particle->Pz); 176 double jmass = (particle->E - temp) * (particle->E + temp); // prevents some numerical sensitivity177 176 TLorentzVector pmu; 178 177 pmu.SetPtEtaPhiE(particle->PT, particle->Eta, particle->Phi, particle->E); 179 jmass = pmu.M();178 float jmass = pmu.M(); 180 179 float ntrk = 0.0; 181 180 float btag =0; 182 181 double ratioE = 0; 183 182 184 if(lhcoID == lhcoElectronID) { TRootElectron elec(*((TRootElectron*) branch->At(i))); ntrk = elec.Charge; } 185 else if (lhcoID == lhcoMuonID) { TRootMuon muon(*((TRootMuon*) branch->At(i))); ntrk = muon.Charge; } 183 if(lhcoID == lhcoPhotonID){TRootPhoton gam(*((TRootPhoton*) branch->At(i))); jmass=0; ratioE = gam.EHoverEE;} 184 if(lhcoID == lhcoElectronID) { TRootElectron elec(*((TRootElectron*) branch->At(i))); ntrk = elec.Charge; ratioE = elec.EHoverEE;} 185 else if (lhcoID == lhcoMuonID) { TRootMuon muon(*((TRootMuon*) branch->At(i))); ntrk = muon.Charge; ratioE = muon.EHoverEE;} 186 186 else if (lhcoID == lhcoTauJetID) { TRootTauJet taujet(*((TRootTauJet*) branch->At(i))); ntrk = taujet.Charge; } 187 else if (lhcoID == lhcoJetID) { TRootJet jet(*((TRootJet*) branch->At(i))); ntrk = jet.NTracks; btag = jet.Btag; }187 else if (lhcoID == lhcoJetID) { TRootJet jet(*((TRootJet*) branch->At(i))); ntrk = jet.NTracks; btag = jet.Btag; ratioE = jet.EHoverEE;} 188 188 if(lhcoID != lhcoETmisID) { 189 189 outfile << fixed << setprecision(3)
Note:
See TracChangeset
for help on using the changeset viewer.