Applying Cuts

Hi folks. I have an NTuple containing a Tree with leaves jetPt and number of jets (nJ). I have to apply this cut:

at least 2 jets with pt > 50GeV
at least 2 jets with pt > 15 GeV

How can I accomplish this task? I know I can define TCut objects like
TCut cut1 = “jetPt > 50”;
TCut cut2 = “jetPt > 15”;

but then?

Thanks in advance

To answer your question, you should provide more info about your Trees, in particular your collections. Send at least the output of TTree::Print
or better a small ROOT file.

Rene

This is what happens when I Print() my TTree su1b:


*Tree :su1b : Some Description *
*Entries : 4025 : Total = 1656879 bytes File Size = 1323648 *

  •    :          : Tree compression factor =   1.16                       *
    

*Br 0 :event : event/I *
*Entries : 4025 : Total Size= 16726 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 1 :run : run/I *
*Entries : 4025 : Total Size= 16714 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 2 :nElec : nElec/I *
*Entries : 4025 : Total Size= 16726 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 3 :elecEta : elecEta[nElec]/F *
*Entries : 4025 : Total Size= 320985 bytes File Size = 276751 *
*Baskets : 10 : Basket Size= 32000 bytes Compression= 1.10 *

*Br 4 :elecPt : elecPt[nElec]/F *
*Entries : 4025 : Total Size= 320969 bytes File Size = 278325 *
*Baskets : 10 : Basket Size= 32000 bytes Compression= 1.09 *

*Br 5 :nMuon : nMuon/I *
*Entries : 4025 : Total Size= 16726 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 6 :muEta : muEta[nMuon]/F *
*Entries : 4025 : Total Size= 158285 bytes File Size = 129322 *
*Baskets : 5 : Basket Size= 32000 bytes Compression= 1.12 *

*Br 7 :muPt : muPt[nMuon]/F *
*Entries : 4025 : Total Size= 158274 bytes File Size = 125409 *
*Baskets : 5 : Basket Size= 32000 bytes Compression= 1.16 *

*Br 8 :nJets : nJets/I *
*Entries : 4025 : Total Size= 16726 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 9 :jetEta : jetEta[nJets]/F *
*Entries : 4025 : Total Size= 89766 bytes File Size = 70343 *
*Baskets : 3 : Basket Size= 32000 bytes Compression= 1.16 *

*Br 10 :jetPt : jetPt[nJets]/F *
*Entries : 4025 : Total Size= 89757 bytes File Size = 68857 *
*Baskets : 3 : Basket Size= 32000 bytes Compression= 1.18 *

*Br 11 :nBJets : nBJets/I *
*Entries : 4025 : Total Size= 16732 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 12 :nBJ_truth : nBJ_truth/I *
*Entries : 4025 : Total Size= 16750 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 13 :bjetEta : bjetEta[nBJets]/F *
*Entries : 4025 : Total Size= 26423 bytes File Size = 10039 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 1.96 *

*Br 14 :bjetPt : bjetPt[nBJets]/F *
*Entries : 4025 : Total Size= 26416 bytes File Size = 9870 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 1.99 *

*Br 15 :jetlhSig : jetlhSig[nBJets]/F *
*Entries : 4025 : Total Size= 26430 bytes File Size = 8269 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 2.38 *

*Br 16 :jetWeigth : jetWeigth[nBJets]/F *
*Entries : 4025 : Total Size= 26437 bytes File Size = 9820 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 2.00 *

*Br 17 :MissingEt : MissingEt/F *
*Entries : 4025 : Total Size= 16750 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 18 :MissingEtTruth : MissingEtTruth/F *
*Entries : 4025 : Total Size= 16780 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 19 :bjbjPairs : bjbjPairs/I *
*Entries : 4025 : Total Size= 16750 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 20 :bjbjMass : bjbjMass[bjbjPairs]/F *
*Entries : 4025 : Total Size= 20478 bytes File Size = 4731 *
*Baskets : 1 : Basket Size= 32000 bytes Compression= 3.73 *

*Br 21 :jjPairs : jjPairs/I *
*Entries : 4025 : Total Size= 16738 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 22 :jjMass : jjMass[jjPairs]/F *
*Entries : 4025 : Total Size= 175756 bytes File Size = 128587 *
*Baskets : 5 : Basket Size= 32000 bytes Compression= 1.14 *

*Br 23 :Meff : Meff/F *
*Entries : 4025 : Total Size= 16720 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

*Br 24 :MeffTruth : MeffTruth/F *
*Entries : 4025 : Total Size= 16750 bytes One basket in memory *
*Baskets : 0 : Basket Size= 32000 bytes Compression= 1.00 *

This is my ROOT program (this is still a work in progress…)

[code]
{
gROOT->Reset();

TCut MET = “MissingEt > 100e3 && MissingEt <2000e3> 15e3”;
TCut BJPTH = “bjetPt > 50e3”;
TCut MEFF = “Meff > 0 && Meff <3000e3> 3”;

TCut gCUT = MET && BJPTL && NJET;

//Load all files
TString prefix = “MySusyAlg.ntuple.rome.”;
TString ext =".pool.root";

TFile *file1 = new TFile(prefix+“SU1”+ext, “READ”);
TFile *file2 = new TFile(prefix+“ttbarW”+ext, “READ”);
TFile *file3 = new TFile(prefix+“Wmunu”+ext, “READ”);
TFile *file4 = new TFile(prefix+“Zmumu”+ext, “READ”);

gStyle->SetOptStat(“e”);

TTree* sgnl = (TTree*)(file1->Get(“su1”));
TTree* ttbar = (TTree*)(file2->Get(“NTromettbarW”));
TTree* wmunu = (TTree*)(file3->Get(“NTromeWmunu”));
TTree* zmumu = (TTree*)(file4->Get(“Zmm”));

sgnl->SetLineColor(kBlack);
ttbar->SetLineColor(kRed);
ttbar->SetFillColor(kRed);
wmunu->SetLineColor(kCyan);
wmunu->SetFillColor(kCyan);
zmumu->SetLineColor(kBlue);
zmumu->SetFillColor(kBlue);

TCanvas *c1 = new TCanvas(“c1”, “MissingEt Signal and Backgrounds”, 1024, 768);
//gStyle->SetOptStat(kTRUE);
c1->Divide(2,2);

c1->cd(1);
sgnl->Draw(“MissingEt”, gCUT);
htemp->Rebin(4);

c1->cd(2);
sgnl->Draw(“MissingEt”, gCUT);
htemp->SetTitle(“t tbar W background”);
htemp->Rebin(4);
ttbar->Draw(“MissingEt”, “”, “same”);
//htemp->Rebin(4);
c1->cd(3);
sgnl->Draw(“MissingEt”, gCUT);
htemp->Rebin(4);
htemp->SetTitle(“W->mu nu background”);
wmunu->Draw(“MissingEt”, “”, “same”);

c1->cd(4);
sgnl->Draw(“MissingEt”, gCUT);
htemp->SetTitle(“Z->mu mu background”);
htemp->Rebin(4);
zmumu->Draw(“MissingEt”, “”, “same”);

c1->cd();

// Effective Mass
TCanvas *c2 = new TCanvas(“c2”, “Effective Mass Signal and Backgrounds”, 1024, 768);
c2->Divide(2,2);

c2->cd(1);
sgnl->Draw(“Meff”, gCUT && MEFF );
htemp->Rebin(3);

c2->cd(2);
sgnl->Draw(“Meff”, gCUT && MEFF);
htemp->SetTitle(“t tbar W background”);
htemp->Rebin(3);
ttbar->Draw(“Meff”, “”, “same”);

c2->cd(3);
sgnl->Draw(“Meff”, gCUT && MEFF);
htemp->SetTitle(“W->mu nu background”);
htemp->Rebin(3);
wmunu->Draw(“Meff”, “”, “same”);

c2->cd(4);
sgnl->Draw(“Meff”, gCUT && MEFF);
htemp->SetTitle(“Z->mu mu background”);
htemp->Rebin(3);
zmumu->Draw(“Meff”, “”, “same”);

c2->cd();
file1.Close();
file2.Close();
file3.Close();
file4.Close();
}
[/code][/code]

make a cut like

“nJets >= 2 && jetPt > 50”

Rene