48 using namespace isodeposit;
58 void endJob()
override;
71 bool FSR_mu,
FSR_tk, FSR_mu0, FSR_mu1;
74 int zmmcounter, zmscounter,
zmtcounter, numOfEvent, numofGamma;
92 h_gamma_pt_eta_ = fs->
make<TH2D>(
"h_gamma_pt_eta",
"pt vs eta of gamma", 100, 20, 100, 100, -2.0, 2.0);
93 h_mu_pt_eta_FSR_ = fs->
make<TH2D>(
"h_mu_pt_eta_FSR",
"pt vs eta of muon with FSR", 100, 20, 100, 100, -2.0, 2.0);
95 fs->
make<TH2D>(
"h_mu_pt_eta_no_FSR",
"pt vs eta of of muon withot FSR", 100, 20, 100, 100, -2.0, 2.0);
110 if (!
zMuMu->empty()) {
112 for (
unsigned int i = 0;
i <
zMuMu->size(); ++
i) {
119 const pat::Muon& mu0 = dynamic_cast<const pat::Muon&>(*dau0);
120 const pat::Muon& mu1 = dynamic_cast<const pat::Muon&>(*dau1);
122 double zmass = zMuMuCand.
mass();
123 double pt0 = mu0.
pt();
124 double pt1 = mu1.
pt();
125 double eta0 = mu0.
eta();
127 if (pt0 > 20 &&
pt1 > 20 &&
abs(eta0) < 2 &&
abs(
eta1) < 2 && zmass > 20 && zmass < 200) {
141 if (num_dau_muon0 > 1) {
142 for (
int j = 0;
j < num_dau_muon0; ++
j) {
156 if (num_dau_muon1 > 1) {
157 for (
int j = 0;
j < num_dau_muon1; ++
j) {
177 if (!
zMuSa->empty()) {
179 for (
unsigned int i = 0;
i <
zMuSa->size(); ++
i) {
186 const pat::Muon& mu0 = dynamic_cast<const pat::Muon&>(*dau0);
187 const pat::Muon& mu1 = dynamic_cast<const pat::Muon&>(*dau1);
189 double zmass = zMuSaCand.
mass();
190 double pt0 = mu0.
pt();
191 double pt1 = mu1.
pt();
192 double eta0 = mu0.
eta();
194 if (pt0 > 20 &&
pt1 > 20 &&
abs(eta0) < 2 &&
abs(
eta1) < 2 && zmass > 20 && zmass < 200) {
207 if (num_dau_muon0 > 1) {
208 for (
int j = 0;
j < num_dau_muon0; ++
j) {
222 if (num_dau_muon1 > 1) {
223 for (
int j = 0;
j < num_dau_muon1; ++
j) {
243 if (!zMuTk->
empty()) {
245 for (
unsigned int i = 0;
i < zMuTk->
size(); ++
i) {
251 const pat::Muon& mu0 = dynamic_cast<const pat::Muon&>(*dau0);
254 double zmass = zMuTkCand.
mass();
255 double pt0 = mu0.
pt();
256 double pt1 = mu1.
pt();
257 double eta0 = mu0.
eta();
259 if (pt0 > 20 &&
pt1 > 20 &&
abs(eta0) < 2 &&
abs(
eta1) < 2 && zmass > 20 && zmass < 200) {
272 if (num_dau_muon0 > 1) {
273 for (
int j = 0;
j < num_dau_muon0; ++
j) {
287 if (num_dau_muon1 > 1) {
288 for (
int j = 0;
j < num_dau_muon1; ++
j) {
309 cout <<
" ============= Summary ==========" << endl;
311 cout <<
" 1)Numero di ZMuMu matched dopo i tagli cinematici = " <<
zmmcounter << endl;
312 cout <<
" 2)Numero di ZMuSa matched dopo i tagli cinematici = " <<
zmscounter << endl;
313 cout <<
" 3)Numero di ZMuTk matched dopo i tagli cinematici = " <<
zmtcounter << endl;