Fork me on GitHub

Changeset 310 in svn for trunk/src/JetsUtil.cc


Ignore:
Timestamp:
Mar 10, 2009, 11:52:16 AM (16 years ago)
Author:
severine ovyn
Message:

add Ehad/Eem

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/JetsUtil.cc

    r307 r310  
    120120}
    121121
    122 vector<fastjet::PseudoJet> JetsUtil::RunJets(const vector<fastjet::PseudoJet>&  input_particles,  const vector<TRootTracks> & TrackCentral,  vector<int> &NTrackJet)
     122vector<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)
    123123{
    124124  inclusive_jets.clear();
     
    135135      sorted_jets = sorted_by_pt(inclusive_jets);
    136136
    137       //check number of tracks in jets
     137      //Bin tracks to make the link
    138138      float  iEtaTrack[TrackCentral.size()];
    139139      float  iPhiTrack[TrackCentral.size()];
     
    145145      for (unsigned int i = 0; i < sorted_jets.size(); i++)
    146146          {
     147            //check number of tracks in jets
    147148            numTrackJet=0;
    148149            vector<fastjet::PseudoJet> constituents = clust_seq.constituents(sorted_jets[i]);
     
    155156               }
    156157            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);
    157167       }
    158168    }
     
    161171}
    162172
    163 
    164 
    165 void JetsUtil::RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootGenParticle>& NFCentralQ, const vector<int> &NTrackJet)
     173vector<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
     192void JetsUtil::RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootGenParticle>& NFCentralQ, const vector<int> &NTrackJet, const vector<float> &EHADEEM)
    166193{
    167194  TRootJet *elementJet;
     
    175202        elementJet->Set(JET);
    176203        elementJet->NTracks = NTrackJet[i];
     204        elementJet->EHoverEE = EHADEEM[i];
    177205
    178206        // b-jets
     
    185213}
    186214
    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)
     215void 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)
    188216{
    189217  TRootTauJet *elementTauJet;
     
    205233        elementTauJet->NTracks=NTrackJet[i];
    206234        elementTauJet->Charge = charge;
     235        elementTauJet->EHoverEE = EHADEEM[i];
    207236      } // if tau jet
    208237    } // if JET.eta < tracker - tau_cone : Tau jet identification
Note: See TracChangeset for help on using the changeset viewer.