30void df102_NanoAODDimuonAnalysis()
37 {
"root://eospublic.cern.ch//eos/root-eos/cms_opendata_2012_nanoaod/Run2012B_DoubleMuParked.root",
38 "root://eospublic.cern.ch//eos/root-eos/cms_opendata_2012_nanoaod/Run2012C_DoubleMuParked.root"});
41 auto df_2mu = df.
Filter(
"nMuon == 2",
"Events with exactly two muons");
42 auto df_os = df_2mu.Filter(
"Muon_charge[0] != Muon_charge[1]",
"Muons with opposite charge");
48 p1.SetPtEtaPhiM(
pt[0], eta[0], phi[0], mass[0]);
49 p2.SetPtEtaPhiM(
pt[1], eta[1], phi[1], mass[1]);
54 auto df_mass = df_os.Define(
"Dimuon_mass", compute_mass, {
"Muon_pt",
"Muon_eta",
"Muon_phi",
"Muon_mass"});
57 auto h = df_mass.Histo1D({
"Dimuon_mass",
"Dimuon_mass", 30000, 0.25, 300},
"Dimuon_mass");
60 auto report = df_mass.Report();
64 auto c =
new TCanvas(
"c",
"", 800, 700);
65 c->SetLogx();
c->SetLogy();
68 h->GetXaxis()->SetTitle(
"m_{#mu#mu} (GeV)");
h->GetXaxis()->SetTitleSize(0.04);
69 h->GetYaxis()->SetTitle(
"N_{Events}");
h->GetYaxis()->SetTitleSize(0.04);
74 label.
DrawLatex(0.205, 0.775,
"#rho,#omega");
78 label.
DrawLatex(0.485, 0.700,
"Y(1,2,3S)");
81 label.
SetTextSize(0.030); label.
DrawLatex(0.630, 0.920,
"#sqrt{s} = 8 TeV, L_{int} = 11.6 fb^{-1}");
83 c->SaveAs(
"dimuon_spectrum.pdf");
91 df102_NanoAODDimuonAnalysis();
static double p1(double t, double a, double b)
static double p2(double t, double a, double b, double c)
R__EXTERN TStyle * gStyle
RInterface< RDFDetail::RFilter< F, Proxied >, DS_t > Filter(F f, const ColumnNames_t &columns={}, std::string_view name="")
ROOT's RDataFrame offers a high level interface for analyses of data stored in TTrees,...
A "std::vector"-like collection of values implementing handy operation to analyse them.
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
To draw Mathematical Formula.
TLatex * DrawLatex(Double_t x, Double_t y, const char *text)
Make a copy of this object with the new parameters And copy object attributes.
TLorentzVector is a general four-vector class, which can be used either for the description of positi...
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
virtual void SetNDC(Bool_t isNDC=kTRUE)
Set NDC mode on if isNDC = kTRUE, off otherwise.
int main(int argc, char **argv)
void EnableImplicitMT(UInt_t numthreads=0)
Enable ROOT's implicit multi-threading for all objects and methods that provide an internal paralleli...