Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-28 07:03:12

0001 #include "TROOT.h"
0002 #include "TChain.h"
0003 #include "TTree.h"
0004 #include "TFile.h"
0005 #include "TCut.h"
0006 #include "TString.h"
0007 #include <iostream>
0008 
0009 void DelphesSkim(TString input_filename, TString output_filename, TString skimCuts = "")
0010 {
0011   auto input_file = TFile::Open(input_filename);
0012 
0013    if (input_file == nullptr || input_file->IsZombie() || input_file->TestBit(TFile::kRecovered)) {
0014     std::cout << "The input ROOT file is corrupted. Exiting..." << std::endl;
0015     return;
0016   }
0017 
0018   auto input_tree = static_cast<TTree*>(input_file->Get("Delphes"));
0019 
0020   std::cout << "Input Delphes TTree contains " << input_tree->GetEntries() << " events..." << std::endl;
0021 
0022   auto output_file = TFile::Open(output_filename,"RECREATE");
0023   output_file->cd();
0024   auto output_tree = static_cast<TTree*>(input_tree->CopyTree(skimCuts));
0025   output_tree->Write();
0026 
0027   std::cout << "... skimmed output Delphes TTree contains " << output_tree->GetEntries() << " events." << std::endl;
0028 
0029   output_file->Close();
0030 }