Fork me on GitHub

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


Ignore:
Timestamp:
Mar 9, 2009, 9:47:21 PM (16 years ago)
Author:
severine ovyn
Message:

LHCO advanced

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/JetsUtil.cc

    r286 r307  
    120120}
    121121
    122 vector<fastjet::PseudoJet> JetsUtil::RunJets(const vector<fastjet::PseudoJet>&  input_particles)
     122vector<fastjet::PseudoJet> JetsUtil::RunJets(const vector<fastjet::PseudoJet>&  input_particles,  const vector<TRootTracks> & TrackCentral,  vector<int> &NTrackJet)
    123123{
    124124  inclusive_jets.clear();
     
    131131      double ptmin = 5.0;
    132132      inclusive_jets = clust_seq.inclusive_jets(ptmin);
     133     
    133134      // sort jets into increasing pt
    134135      sorted_jets = sorted_by_pt(inclusive_jets);
     136
     137      //check number of tracks in jets
     138      float  iEtaTrack[TrackCentral.size()];
     139      float  iPhiTrack[TrackCentral.size()];
     140      for(unsigned int t = 0; t < TrackCentral.size(); t++)
     141         {
     142           DET->BinEtaPhi(TrackCentral[t].PhiOuter,TrackCentral[t].EtaOuter,iPhiTrack[t],iEtaTrack[t]);
     143         }
     144      int numTrackJet;
     145      for (unsigned int i = 0; i < sorted_jets.size(); i++)
     146          {
     147            numTrackJet=0;
     148            vector<fastjet::PseudoJet> constituents = clust_seq.constituents(sorted_jets[i]);
     149            for(unsigned int it = 0; it < TrackCentral.size(); it++)
     150               {
     151                 for (unsigned int j = 0; j < constituents.size(); j++)
     152                     {
     153                       if(DeltaR(iPhiTrack[it], iEtaTrack[it], constituents[j].phi(), constituents[j].eta())<0.001)numTrackJet++;
     154                     }
     155               }
     156            NTrackJet.push_back(numTrackJet);
     157       }
    135158    }
    136159 
     
    138161}
    139162
    140 void JetsUtil::RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootGenParticle>& NFCentralQ)
     163
     164
     165void JetsUtil::RunJetBtagging(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchJet,const vector<fastjet::PseudoJet> & sorted_jets,const TSimpleArray<TRootGenParticle>& NFCentralQ, const vector<int> &NTrackJet)
    141166{
    142167  TRootJet *elementJet;
    143168  TLorentzVector JET;
    144169  for (unsigned int i = 0; i < sorted_jets.size(); i++) {
     170
    145171    JET.SetPxPyPzE(sorted_jets[i].px(),sorted_jets[i].py(),sorted_jets[i].pz(),sorted_jets[i].E());
    146172    if(JET.Pt() > DET->PTCUT_jet)
     
    148174        elementJet = (TRootJet*) branchJet->NewEntry();
    149175        elementJet->Set(JET);
     176        elementJet->NTracks = NTrackJet[i];
     177
    150178        // b-jets
    151179        bool btag=false;
     
    157185}
    158186
    159 //void JetsUtil::RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector<fastjet::PseudoJet> & sorted_jets,const vector<PhysicsTower> & towers, const vector<TLorentzVector> & TrackCentral)
    160 void JetsUtil::RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector<fastjet::PseudoJet> & sorted_jets,const vector<PhysicsTower> & towers, const vector<TRootTracks> & TrackCentral)
     187void JetsUtil::RunTauJets(ExRootTreeWriter *treeWriter, ExRootTreeBranch *branchTauJet,const vector<fastjet::PseudoJet> & sorted_jets,const vector<PhysicsTower> & towers, const vector<TRootTracks> & TrackCentral, const vector<int> &NTrackJet)
    161188{
    162189  TRootTauJet *elementTauJet;
     
    176203        elementTauJet = (TRootTauJet*) branchTauJet->NewEntry();
    177204        elementTauJet->Set(JET);
     205        elementTauJet->NTracks=NTrackJet[i];
    178206        elementTauJet->Charge = charge;
    179207      } // if tau jet
Note: See TracChangeset for help on using the changeset viewer.