Fork me on GitHub

Changes between Version 16 and Version 17 of WorkBook/LibraryInterface


Ignore:
Timestamp:
Jun 22, 2012, 12:15:38 AM (12 years ago)
Author:
Pavel Demin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WorkBook/LibraryInterface

    v16 v17  
    5656  ExRootAnalysis *modularDelphes;
    5757  ExRootFactory *factory;
    58   TObjArray *outputArray;
     58  TObjArray *particleOutputArray;
     59  TObjArray *partonOutputArray;
    5960
    6061  gROOT->SetBatch();
     
    7677   
    7778    factory = modularDelphes->GetFactory();
    78     outputArray = modularDelphes->ExportArray("candidates");
     79    particleOutputArray = modularDelphes->ExportArray("particles");
     80    partonOutputArray = modularDelphes->ExportArray("partons");
    7981
    8082    modularDelphes->InitTask();
     
    8486    {
    8587      modularDelphes->Clear();
    86       ConvertEvent(factory, outputArray);       
     88      ConvertInput(factory, particleOutputArray, partonOutputArray);
    8789      modularDelphes->ProcessTask();
    88       ReadResults(modularDelphes);
     90      ConvertOutput(modularDelphes);
    8991    }
    9092
     
    102104}
    103105
    104 
    105 void ConvertEvent(ExRootFactory *factory, TObjArray *outputArray)
     106void ConvertInput(ExRootFactory *factory, TObjArray *particleOutputArray, TObjArray *partonOutputArray)
    106107{
    107108  ExRootCandidate *candidate;
     
    110111  Double_t px, py, pz, e, m; 
    111112  Double_t x, y, z, t; 
    112  
     113
    113114  while(ReadParticle())
    114115  {
    115     if(status == 1)
     116    if(status == 1 || status == 2)
    116117    {
    117118      candidate = factory->NewCandidate();
    118      
     119
    119120      candidate->SetType(pid);
    120121
    121122      candidateMomentum.SetPxPyPzE(px, py, pz, e);
    122123      candidate->SetMomentum(candidateMomentum);
    123      
     124
    124125      candidatePosition.SetXYZT(x, y, z, t);
    125126      candidate->SetPosition(candidatePosition);
    126      
    127       outputArray->Add(candidate);
     127
     128      if(status == 1)
     129      {
     130        particleOutputArray->Add(candidate);
     131      }
     132      else if(status == 2)
     133      {
     134        partonOutputArray->Add(candidate);
     135      }
    128136    }
    129137  }
    130138}
    131139
    132 void ReadResults(ExRootAnalysis *modularDelphes)
     140void ConvertOutput(ExRootAnalysis *modularDelphes)
    133141{
    134142  TObjArray *arrayJets = modularDelphes->ImportArray("FastJetFinder/jets");