File indexing completed on 2026-07-16 08:11:22
0001 #include <string>
0002 #include <iostream>
0003 #include <sstream>
0004 #include <cmath>
0005 #include <TFile.h>
0006 #include <TTree.h>
0007 #include <TCut.h>
0008 #include <TChain.h>
0009 #include <TMath.h>
0010 #include <TPad.h>
0011 #include <TCanvas.h>
0012 #include <TBranch.h>
0013
0014 using namespace std;
0015
0016 void CutFile()
0017 {
0018 stringstream cutStream;
0019
0020
0021
0022 cutStream << "abs(Lambda0_track_1_true_ID) == 211 && Sum$(abs(Lambda0_track_1_true_track_history_PDG_ID) == 3122) > 0 && Sum$(abs(Lambda0_track_1_true_track_history_PDG_ID) == 3312) > 0 && abs(Lambda0_track_2_true_ID) == 2212 && Sum$(abs(Lambda0_track_2_true_track_history_PDG_ID) == 3122) > 0 && Sum$(abs(Lambda0_track_2_true_track_history_PDG_ID) == 3312) > 0 && abs(track_3_true_ID) == 211 && Sum$(abs(track_3_true_track_history_PDG_ID) == 3312) > 0 && Sum$(abs(track_3_true_track_history_PDG_ID) == 3122) == 0 && Lambda0_track_1_MVTX_nHits > 0 && Lambda0_track_2_MVTX_nHits > 0 && track_3_MVTX_nHits > 0 && Lambda0_track_1_INTT_nHits > 0 && Lambda0_track_2_INTT_nHits > 0 && track_3_INTT_nHits > 0 && Lambda0_track_1_TPC_nHits > 19 && Lambda0_track_2_TPC_nHits > 19 && track_3_TPC_nHits > 19 && abs(Lambda0_mass - 1.1157) <= 0.01 && Ximinus_decayLength_xy >= 0.15 && Lambda0_decayLength_xy >= 0.01 && (Lambda0_track_1_chi2/Lambda0_track_1_nDoF) <= 400 && (Lambda0_track_2_chi2/Lambda0_track_2_nDoF) <= 400 && (track_3_chi2/track_3_nDoF) <= 400 && track_1_track_2_DCA <= 0.5 && track_1_track_3_DCA <= 0.5 && track_2_track_3_DCA <= 0.5 && Ximinus_chi2/Ximinus_nDoF <= 50 && Lambda0_chi2/Lambda0_nDoF <= 50 && abs(Ximinus_rapidity) <= 1.0";
0023 TCut masscut = cutStream.str().c_str();
0024
0025 TFile* originalFile = new TFile("outputKFParticleXiminusSV.root");
0026 TTree* originalTree = (TTree*)originalFile->Get("DecayTree");
0027
0028 TFile* tempFile = new TFile("outputKFParticleXiminusSV_filtered.root", "RECREATE");
0029 tempFile->cd();
0030
0031 TTree* dataTree_Cut = originalTree->CopyTree(masscut);
0032 dataTree_Cut->Write();
0033 tempFile->Close();
0034 }