49 using namespace isodeposit;
56 virtual void endJob();
64 bool FSR_mu,
FSR_tk, FSR_mu0, FSR_mu1;
67 int zmmcounter , zmscounter,
zmtcounter,numOfEvent,numofGamma;
74 zMuMu_(pset.getParameter<
InputTag>(
"zMuMu")),
75 zMuMuMatchMap_(pset.getParameter<
InputTag>(
"zMuMuMatchMap")),
76 zMuTk_(pset.getParameter<
InputTag>(
"zMuTk")),
77 zMuTkMatchMap_(pset.getParameter<
InputTag>(
"zMuTkMatchMap")),
78 zMuSa_(pset.getParameter<
InputTag>(
"zMuSa")),
79 zMuSaMatchMap_(pset.getParameter<
InputTag>(
"zMuSaMatchMap")){
88 h_gamma_pt_eta_= fs->
make<TH2D>(
"h_gamma_pt_eta",
"pt vs eta of gamma",100,20,100,100,-2.0,2.0);
89 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 );
90 h_mu_pt_eta_no_FSR_= 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);
96 event.getByLabel(
zMuMu_, zMuMu);
99 event.getByLabel(
zMuTk_, zMuTk);
102 event.getByLabel(
zMuSa_, zMuSa);
105 if (zMuMu->size() > 0 ) {
107 for(
unsigned int i = 0;
i < zMuMu->size(); ++
i) {
118 double zmass= zMuMuCand.
mass();
119 double pt0 = mu0.
pt();
120 double pt1 = mu1.
pt();
121 double eta0 = mu0.
eta();
122 double eta1 = mu1.
eta();
123 if(pt0>20 && pt1 > 20 &&
abs(eta0)<2 &&
abs(eta1)<2 && zmass > 20 && zmass < 200){
137 if( num_dau_muon0 > 1 ){
138 for(
int j = 0;
j < num_dau_muon0; ++
j){
151 if( num_dau_muon1 > 1 ){
152 for(
int j = 0;
j < num_dau_muon1; ++
j){
171 if (zMuSa->size() > 0 ) {
173 for(
unsigned int i = 0;
i < zMuSa->size(); ++
i) {
184 double zmass= zMuSaCand.
mass();
185 double pt0 = mu0.
pt();
186 double pt1 = mu1.
pt();
187 double eta0 = mu0.
eta();
188 double eta1 = mu1.
eta();
189 if(pt0>20 && pt1 > 20 &&
abs(eta0)<2 &&
abs(eta1)<2 && zmass > 20 && zmass < 200){
202 if( num_dau_muon0 > 1 ){
203 for(
int j = 0;
j < num_dau_muon0; ++
j){
216 if( num_dau_muon1 > 1 ){
217 for(
int j = 0;
j < num_dau_muon1; ++
j){
238 if (zMuTk->size() > 0 ) {
240 for(
unsigned int i = 0;
i < zMuTk->size(); ++
i) {
251 double zmass= zMuTkCand.
mass();
252 double pt0 = mu0.
pt();
253 double pt1 = mu1.
pt();
254 double eta0 = mu0.
eta();
255 double eta1 = mu1.
eta();
256 if(pt0>20 && pt1 > 20 &&
abs(eta0)<2 &&
abs(eta1)<2 && zmass > 20 && zmass < 200){
269 if( num_dau_muon0 > 1 ){
270 for(
int j = 0;
j < num_dau_muon0; ++
j){
283 if( num_dau_muon1 > 1 ){
284 for(
int j = 0;
j < num_dau_muon1; ++
j){
306 cout <<
" ============= Summary =========="<<endl;
308 cout <<
" 1)Numero di ZMuMu matched dopo i tagli cinematici = "<<
zmmcounter << endl;
309 cout <<
" 2)Numero di ZMuSa matched dopo i tagli cinematici = "<<
zmscounter << endl;
310 cout <<
" 3)Numero di ZMuTk matched dopo i tagli cinematici = "<<
zmtcounter << endl;
gamma_radiative_analyzer(const edm::ParameterSet &pset)
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
const reco::GenParticle * genLepton() const
edm::InputTag zMuSaMatchMap_
const reco::GenParticle * genParticle(size_t idx=0) const
virtual double pt() const =0
transverse momentum
#define DEFINE_FWK_MODULE(type)
virtual double mass() const =0
mass
edm::InputTag zMuTkMatchMap_
edm::InputTag zMuMuMatchMap_
virtual double eta() const
momentum pseudorapidity
bool isNonnull() const
Checks for non-null.
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
virtual size_type numberOfDaughters() const =0
number of daughters
edm::ValueMap< float > IsolationCollection
tuple zMuSa
zMUSa vector of PSet is specific for zMuSa category
TH2D * h_mu_pt_eta_no_FSR_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
virtual int pdgId() const =0
PDG identifier.
virtual double pt() const
transverse momentum
virtual void analyze(const edm::Event &event, const edm::EventSetup &setup)
T * make() const
make new ROOT object
Analysis-level muon class.
virtual const Candidate * mother(size_type=0) const
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode) ...
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
tuple zMuMu
zMuMu vector of PSet is common to all categories except zMuTrk category
virtual double eta() const =0
momentum pseudorapidity
virtual const CandidateBaseRef & masterClone() const =0