CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ZMuMuAnalyzer_cynematics Class Reference
Inheritance diagram for ZMuMuAnalyzer_cynematics:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 ZMuMuAnalyzer_cynematics (const edm::ParameterSet &pset)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &setup) override
 
void endJob () override
 
bool isContained (const Candidate &, const Candidate &)
 

Private Attributes

double binEta
 
double binPhi
 
double binPt
 
double etacut_
 
double etamax
 
double etamin
 
TH2D * h_OneSta_mass
 
TH1D * h_zMuMu_mass_
 
TH1D * h_zMuMu_numberOfCand
 
TH1D * h_zMuMu_numberOfCand_etapassed
 
TH1D * h_zMuMu_numberOfCand_isopassed
 
TH1D * h_zMuMu_numberOfCand_masspassed
 
TH1D * h_zMuMu_numberOfCand_passed
 
TH1D * h_zMuMu_numberOfCand_ptetamasspassed
 
TH1D * h_zMuMu_numberOfCand_ptetapassed
 
TH1D * h_zMuMu_numberOfCand_ptpassed
 
TH1D * h_zMuMuMatched_mass_
 
TH1D * h_zMuSingleStandAlone_mass_
 
TH1D * h_zMuSingleStandAloneMatched_mass_
 
TH1D * h_zMuSingleStandAloneOverlap_mass_
 
TH1D * h_zMuSingleStandAloneOverlapMatched_mass_
 
TH1D * h_zMuSingleTrack_mass_
 
TH1D * h_zMuSingleTrackMatched_mass_
 
TH1D * h_zMuSta_MCmatched_numberOfCand_passed
 
TH1D * h_zMuSta_numberOfCand
 
TH1D * h_zMuSta_numberOfCand_notcontained
 
TH1D * h_zMuSta_numberOfCand_passed
 
TH1D * h_zMuTrack_MCmatched_numberOfCand_passed
 
TH1D * h_zMuTrack_numberOfCand
 
TH1D * h_zMuTrack_numberOfCand_notcontained
 
TH1D * h_zMuTrack_numberOfCand_passed
 
vector< TH1D * > hmumu_eta
 
vector< TH1D * > hmumu_phi
 
vector< TH1D * > hmumu_pt
 
vector< TH1D * > hmusta_eta
 
vector< TH1D * > hmusta_phi
 
vector< TH1D * > hmusta_pt
 
vector< TH1D * > hmutrack_eta
 
vector< TH1D * > hmutrack_phi
 
vector< TH1D * > hmutrack_pt
 
double isocut_
 
double maxZmass_
 
double minZmass_
 
EDGetTokenT< IsolationCollectionmuIsoToken_
 
int numberOfIntervals
 
OverlapChecker overlap_
 
double phimax
 
double phimin
 
double ptcut_
 
double ptmax
 
double ptmin
 
double ptSTAcut_
 
EDGetTokenT< IsolationCollectionstandAloneIsoToken_
 
EDGetTokenT< IsolationCollectiontrackIsoToken_
 
EDGetTokenT< CandMatchMapzMuMuMapToken_
 
EDGetTokenT< CandidateCollectionzMuMuToken_
 
EDGetTokenT< CandMatchMapzMuStandAloneMapToken_
 
EDGetTokenT< CandidateCollectionzMuStandAloneToken_
 
EDGetTokenT< CandMatchMapzMuTrackMapToken_
 
EDGetTokenT< CandidateCollectionzMuTrackToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 49 of file ZMuMuAnalyzer_cynematics.cc.

Constructor & Destructor Documentation

ZMuMuAnalyzer_cynematics::ZMuMuAnalyzer_cynematics ( const edm::ParameterSet pset)

Definition at line 88 of file ZMuMuAnalyzer_cynematics.cc.

References a, b, binEta, binPhi, binPt, etacut_, etamax, etamin, h_OneSta_mass, h_zMuMu_mass_, h_zMuMu_numberOfCand, h_zMuMu_numberOfCand_etapassed, h_zMuMu_numberOfCand_isopassed, h_zMuMu_numberOfCand_masspassed, h_zMuMu_numberOfCand_passed, h_zMuMu_numberOfCand_ptetamasspassed, h_zMuMu_numberOfCand_ptetapassed, h_zMuMu_numberOfCand_ptpassed, h_zMuMuMatched_mass_, h_zMuSingleStandAlone_mass_, h_zMuSingleStandAloneMatched_mass_, h_zMuSingleStandAloneOverlap_mass_, h_zMuSingleStandAloneOverlapMatched_mass_, h_zMuSingleTrack_mass_, h_zMuSingleTrackMatched_mass_, h_zMuSta_MCmatched_numberOfCand_passed, h_zMuSta_numberOfCand, h_zMuSta_numberOfCand_notcontained, h_zMuSta_numberOfCand_passed, h_zMuTrack_MCmatched_numberOfCand_passed, h_zMuTrack_numberOfCand, h_zMuTrack_numberOfCand_notcontained, h_zMuTrack_numberOfCand_passed, hmumu_eta, hmumu_phi, hmumu_pt, hmusta_eta, hmusta_phi, hmusta_pt, hmutrack_eta, hmutrack_phi, hmutrack_pt, mps_fire::i, TFileDirectory::make(), TFileService::make(), TFileService::mkdir(), numberOfIntervals, phimax, phimin, ptcut_, ptmax, and ptmin.

89  : zMuMuToken_(consumes<CandidateCollection>(pset.getParameter<InputTag>("zMuMu"))),
90  zMuTrackToken_(consumes<CandidateCollection>(pset.getParameter<InputTag>("zMuTrack"))),
91  zMuStandAloneToken_(consumes<CandidateCollection>(pset.getParameter<InputTag>("zMuStandAlone"))),
92  muIsoToken_(consumes<IsolationCollection>(pset.getParameter<InputTag>("muIso"))),
93  trackIsoToken_(consumes<IsolationCollection>(pset.getParameter<InputTag>("trackIso"))),
94  standAloneIsoToken_(consumes<IsolationCollection>(pset.getParameter<InputTag>("standAloneIso"))),
95  zMuMuMapToken_(mayConsume<CandMatchMap>(pset.getParameter<InputTag>("zMuMuMap"))),
96  zMuTrackMapToken_(mayConsume<CandMatchMap>(pset.getParameter<InputTag>("zMuTrackMap"))),
97  zMuStandAloneMapToken_(mayConsume<CandMatchMap>(pset.getParameter<InputTag>("zMuStandAloneMap"))),
98  isocut_(pset.getParameter<double>("isocut")),
99  etacut_(pset.getParameter<double>("etacut")),
100  ptcut_(pset.getParameter<double>("ptcut")),
101  ptSTAcut_(pset.getParameter<double>("ptSTAcut")),
102  minZmass_(pset.getParameter<double>("minZmass")),
103  maxZmass_(pset.getParameter<double>("maxZmass")) {
105  h_zMuMu_numberOfCand = fs->make<TH1D>("ZMuMunumberOfCand", "number of ZMuMu cand", 10, -.5, 9.5);
107  fs->make<TH1D>("ZMuMunumberOfCandpassed", "number of ZMuMu cand selected", 10, -.5, 9.5);
109  fs->make<TH1D>("ZMuMunumberOfCandptpassed", "number of ZMuMu cand after pt cut selected", 10, -.5, 9.5);
111  fs->make<TH1D>("ZMuMunumberOfCandetapassed", "number of ZMuMu cand after eta cut selected", 10, -.5, 9.5);
113  fs->make<TH1D>("ZMuMunumberOfCandmasspassed", "number of ZMuMu cand after mass cut selected", 10, -.5, 9.5);
115  fs->make<TH1D>("ZMuMunumberOfCandisopassed", "number of ZMuMu cand after iso cut selected", 10, -.5, 9.5);
117  fs->make<TH1D>("ZMuMunumberOfCandptetapassed", "number of ZMuMu cand after pt & eta cut selected", 10, -.5, 9.5);
118  h_zMuMu_numberOfCand_ptetamasspassed = fs->make<TH1D>(
119  "ZMuMunumberOfCandptetamaspassed", "number of ZMuMu cand after pt & eta & mass cut selected", 10, -.5, 9.5);
120 
121  h_zMuMu_mass_ = fs->make<TH1D>("ZMuMumass", "ZMuMu mass(GeV)", 200, 0., 200.);
122  h_zMuSingleTrack_mass_ = fs->make<TH1D>("ZMuSingleTrackmass", "ZMuSingleTrack mass(GeV)", 100, 0., 200.);
124  fs->make<TH1D>("ZMuSingleStandAlonemass", "ZMuSingleStandAlone mass(GeV)", 50, 0., 200.);
126  fs->make<TH1D>("ZMuSingleStandAloneOverlapmass", "ZMuSingleStandAloneOverlap mass(GeV)", 50, 0., 200.);
127 
128  h_zMuMuMatched_mass_ = fs->make<TH1D>("ZMuMuMatchedmass", "ZMuMu Matched mass(GeV)", 200, 0., 200.);
130  fs->make<TH1D>("ZMuSingleTrackmassMatched", "ZMuSingleTrackMatched mass(GeV)", 100, 0., 200.);
132  fs->make<TH1D>("ZMuSingleStandAlonemassMatched", "ZMuSingleStandAloneMatched mass(GeV)", 50, 0., 200.);
134  "ZMuSingleStandAloneOverlapmassMatched", "ZMuSingleStandAloneMatched Overlap mass(GeV)", 50, 0., 200.);
135 
137  fs->make<TH1D>("ZMuStanumberOfCand", "number of ZMuSta cand (if ZMuMu not selected)", 10, -.5, 9.5);
138  h_OneSta_mass =
139  fs->make<TH2D>("ZOneMuStaMass",
140  "inv. mass of ZMuSta1 vs ZMuSta2 when one ZMuSta has been found (if ZMuMu not selected)",
141  100,
142  0.,
143  400,
144  100,
145  0.,
146  400.);
147  h_zMuSta_numberOfCand_notcontained = fs->make<TH1D>(
148  "ZMuStanumberOfCandnotcontained", "number of independent ZMuSta cand (if ZMuMu not selected)", 10, -.5, 9.5);
149  h_zMuSta_numberOfCand_passed = fs->make<TH1D>(
150  "ZMuStanumberOfCandpassed", "number of ZMuSta cand selected (if ZMuMu not selected)", 10, -.5, 9.5);
152  fs->make<TH1D>("ZMuStaMCmatchedNumberOfCandpassed",
153  "number of ZMuSta MC matched cand selected (if ZMuMu not selected)",
154  10,
155  -.5,
156  9.5);
158  fs->make<TH1D>("ZMuTranumberOfCand", "number of ZMuTrack cand (if ZMuMu and ZMuSTa not selected)", 10, -.5, 9.5);
160  fs->make<TH1D>("ZMuTranumberOfCandnotcontaind",
161  "number of indeendent ZMuTrack cand (if ZMuMu and ZMuSTa not selected)",
162  10,
163  -.5,
164  9.5);
165  h_zMuTrack_numberOfCand_passed = fs->make<TH1D>(
166  "ZMuTranumberOfCandpassed", "number of ZMuTrack cand selected (if ZMuMu and ZMuSta not selected)", 10, -.5, 9.5);
168  fs->make<TH1D>("ZMuTraMCmacthedNumberOfCandpassed",
169  "number of ZMuTrack MC matched cand selected (if ZMuMu and ZMuSta not selected)",
170  10,
171  -.5,
172  9.5);
173 
174  // creating histograms for each Pt, eta, phi interval
175 
176  etamin = -etacut_;
177  etamax = etacut_;
178  phimin = -3.1415;
179  phimax = 3.1415;
180  ptmin = ptcut_;
181  ptmax = 100;
182  numberOfIntervals = 8; // number of intervals in which to divide cynematic variables
186  TFileDirectory etaDirectory =
187  fs->mkdir("etaIntervals"); // in this directory will be saved all the histos of different eta intervals
188  TFileDirectory phiDirectory =
189  fs->mkdir("phiIntervals"); // in this directory will be saved all the histos of different phi intervals
190  TFileDirectory ptDirectory =
191  fs->mkdir("ptIntervals"); // in this directory will be saved all the histos of different pt intervals
192 
193  // eta histograms creation
194 
195  for (int i = 0; i < numberOfIntervals; i++) {
196  double range0 = etamin + i * binEta;
197  double range1 = range0 + binEta;
198  char a[30], b[50];
199  sprintf(a, "zmumu_etaRange%d", i);
200  sprintf(b, "zmumu mass eta Range %f to %f", range0, range1);
201  hmumu_eta.push_back(etaDirectory.make<TH1D>(a, b, 200, 0., 200.));
202  char asta[30], bsta[50];
203  sprintf(asta, "zmusta_etaRange%d", i);
204  sprintf(bsta, "zmusta mass eta Range %f to %f", range0, range1);
205  hmusta_eta.push_back(etaDirectory.make<TH1D>(asta, bsta, 50, 0., 200.));
206  char atk[30], btk[50];
207  sprintf(atk, "zmutrack_etaRange%d", i);
208  sprintf(btk, "zmutrack mass eta Range %f to %f", range0, range1);
209  hmutrack_eta.push_back(etaDirectory.make<TH1D>(atk, btk, 100, 0., 200.));
210  }
211 
212  // phi histograms creation
213 
214  for (int i = 0; i < numberOfIntervals; i++) {
215  double range0 = phimin + i * binPhi;
216  double range1 = range0 + binPhi;
217  char a[30], b[50];
218  sprintf(a, "zmumu_phiRange%d", i);
219  sprintf(b, "zmumu mass phi Range %f to %f", range0, range1);
220  hmumu_phi.push_back(phiDirectory.make<TH1D>(a, b, 200, 0., 200.));
221  char asta[30], bsta[50];
222  sprintf(asta, "zmusta_phiRange%d", i);
223  sprintf(bsta, "zmusta mass phi Range %f to %f", range0, range1);
224  hmusta_phi.push_back(phiDirectory.make<TH1D>(asta, bsta, 50, 0., 200.));
225  char atk[30], btk[50];
226  sprintf(atk, "zmutrack_phiRange%d", i);
227  sprintf(btk, "zmutrack mass phi Range %f to %f", range0, range1);
228  hmutrack_phi.push_back(phiDirectory.make<TH1D>(atk, btk, 100, 0., 200.));
229  }
230 
231  // pt histograms creation
232 
233  for (int i = 0; i < numberOfIntervals; i++) {
234  double range0 = ptmin + i * binPt;
235  double range1 = range0 + binPt;
236  char a[30], b[50];
237  sprintf(a, "zmumu_ptRange%d", i);
238  sprintf(b, "zmumu mass pt Range %f to %f", range0, range1);
239  hmumu_pt.push_back(ptDirectory.make<TH1D>(a, b, 200, 0., 200.));
240  char asta[30], bsta[50];
241  sprintf(asta, "zmusta_ptRange%d", i);
242  sprintf(bsta, "zmusta mass pt Range %f to %f", range0, range1);
243  hmusta_pt.push_back(ptDirectory.make<TH1D>(asta, bsta, 50, 0., 200.));
244  char atk[30], btk[50];
245  sprintf(atk, "zmutrack_ptRange%d", i);
246  sprintf(btk, "zmutrack mass pt Range %f to %f", range0, range1);
247  hmutrack_pt.push_back(ptDirectory.make<TH1D>(atk, btk, 100, 0., 200.));
248  }
249 }
T getParameter(std::string const &) const
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
EDGetTokenT< CandMatchMap > zMuMuMapToken_
T * make(const Args &...args) const
make new ROOT object
EDGetTokenT< CandidateCollection > zMuMuToken_
EDGetTokenT< IsolationCollection > trackIsoToken_
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
double b
Definition: hdecay.h:118
EDGetTokenT< CandMatchMap > zMuStandAloneMapToken_
double a
Definition: hdecay.h:119
EDGetTokenT< CandidateCollection > zMuStandAloneToken_
EDGetTokenT< IsolationCollection > standAloneIsoToken_
EDGetTokenT< CandMatchMap > zMuTrackMapToken_
EDGetTokenT< CandidateCollection > zMuTrackToken_
EDGetTokenT< IsolationCollection > muIsoToken_

Member Function Documentation

void ZMuMuAnalyzer_cynematics::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overrideprivate

Definition at line 251 of file ZMuMuAnalyzer_cynematics.cc.

References binEta, binPhi, binPt, edm::RefToBase< T >::castTo(), gather_cfg::cout, reco::Candidate::daughter(), edm::AssociationMap< Tag >::end(), etacut_, etamin, HcalObjRepresent::Fill(), edm::AssociationMap< Tag >::find(), edm::Ref< C, T, F >::get(), h_zMuMu_mass_, h_zMuMu_numberOfCand, h_zMuMu_numberOfCand_etapassed, h_zMuMu_numberOfCand_isopassed, h_zMuMu_numberOfCand_masspassed, h_zMuMu_numberOfCand_passed, h_zMuMu_numberOfCand_ptetamasspassed, h_zMuMu_numberOfCand_ptetapassed, h_zMuMu_numberOfCand_ptpassed, h_zMuMuMatched_mass_, h_zMuSingleStandAlone_mass_, h_zMuSingleStandAloneMatched_mass_, h_zMuSingleTrack_mass_, h_zMuSingleTrackMatched_mass_, h_zMuSta_MCmatched_numberOfCand_passed, h_zMuSta_numberOfCand, h_zMuSta_numberOfCand_notcontained, h_zMuSta_numberOfCand_passed, h_zMuTrack_MCmatched_numberOfCand_passed, h_zMuTrack_numberOfCand, h_zMuTrack_numberOfCand_notcontained, h_zMuTrack_numberOfCand_passed, hmumu_eta, hmumu_phi, hmumu_pt, hmusta_eta, hmusta_phi, hmusta_pt, hmutrack_eta, hmutrack_phi, hmutrack_pt, mps_fire::i, edm::Ref< C, T, F >::id(), globals_cff::id1, globals_cff::id2, isContained(), isocut_, dqmiolumiharvest::j, edm::Ref< C, T, F >::key(), RazorAnalyzer::lep1, RazorAnalyzer::lep2, visualization-live-secondInstance_cfg::m, reco::Candidate::mass(), reco::Candidate::masterClone(), maxZmass_, minZmass_, AnalysisDataFormats_SUSYBSMObjects::ms, TtSemiLepEvtBuilder_cfi::mt, muIsoToken_, numberOfIntervals, phimin, ptcut_, ptmin, ptSTAcut_, edm::OwnVector< T, P >::size(), standAloneIsoToken_, trackIsoToken_, ZMuMuAnalysisNtupler_cff::zMuMu, zMuMuMapToken_, zMuMuToken_, zMuStandAloneMapToken_, zMuStandAloneToken_, zMuTrackMapToken_, and zMuTrackToken_.

251  {
253  event.getByToken(zMuMuToken_, zMuMu);
255  event.getByToken(zMuTrackToken_, zMuTrack);
256  Handle<CandidateCollection> zMuStandAlone;
257  event.getByToken(zMuStandAloneToken_, zMuStandAlone);
258 
259  unsigned int nZMuMu = zMuMu->size();
260  unsigned int nZTrackMu = zMuTrack->size();
261  unsigned int nZStandAloneMu = zMuStandAlone->size();
262  // static const double zMass = 91.1876; // PDG Z mass
263 
264  cout << "++++++++++++++++++++++++++" << endl;
265  cout << "nZMuMu = " << nZMuMu << endl;
266  cout << "nZTrackMu = " << nZTrackMu << endl;
267  cout << "nZStandAloneMu = " << nZStandAloneMu << endl;
268  cout << "++++++++++++++++++++++++++" << endl;
269 
270  // ZMuMu counters
271 
272  int ZMuMu_passed = 0;
273  int ZMuMu_ptcut_counter = 0;
274  int ZMuMu_etacut_counter = 0;
275  int ZMuMu_masscut_counter = 0;
276  int ZMuMu_isocut_counter = 0;
277  int ZMuMu_ptetacut_counter = 0;
278  int ZMuMu_ptetamasscut_counter = 0;
279  int ZMuMu_allcut_counter = 0;
280 
281  // ZMuTrack counters
282 
283  int ZMuTrack_passed = 0;
284  int ZMuTrack_notcontained = 0;
285  int ZMuTrack_MCmatched_passed = 0;
286 
287  // ZMuStandalone counters
288  int ZMuStandalone_notcontained = 0;
289  int ZMuStandalone_passed = 0;
290  int ZMuStandalone_MCmatched_passed = 0;
291 
292  Handle<CandMatchMap> zMuMuMap;
293  if (nZMuMu > 0) {
294  event.getByToken(zMuMuMapToken_, zMuMuMap);
295  }
296 
297  Handle<CandMatchMap> zMuTrackMap;
298  if (nZTrackMu > 0) {
299  event.getByToken(zMuTrackMapToken_, zMuTrackMap);
300  }
301 
302  Handle<CandMatchMap> zMuStandAloneMap;
303  if (nZStandAloneMu > 0) {
304  event.getByToken(zMuStandAloneMapToken_, zMuStandAloneMap);
305  }
306 
308  event.getByToken(muIsoToken_, muIso);
309  ProductID muIsoId = muIso->keyProduct().id();
311  event.getByToken(trackIsoToken_, trackIso);
312  ProductID trackIsoId = trackIso->keyProduct().id();
313 
314  Handle<IsolationCollection> standAloneIso;
315  event.getByToken(standAloneIsoToken_, standAloneIso);
316  ProductID standAloneIsoId = standAloneIso->keyProduct().id();
317 
318  if (nZMuMu > 0) {
319  // double mass = 1000000.;
320  for (unsigned int i = 0; i < nZMuMu; i++) {
321  bool ptcutAccept = false;
322  bool etacutAccept = false;
323  bool masscutAccept = false;
324  bool isocutAccept = false;
325  const Candidate& zmmCand = (*zMuMu)[i];
326  CandidateRef CandRef(zMuMu, i);
329 
330  const double iso1 = muIso->value(lep1.key());
331  const double iso2 = muIso->value(lep2.key());
332 
333  double m = zmmCand.mass();
334  // check single cuts
335 
336  if (lep1->pt() > ptcut_ && lep2->pt() > ptcut_)
337  ptcutAccept = true;
338  if (fabs(lep1->eta()) < etacut_ && fabs(lep2->eta()) < etacut_)
339  etacutAccept = true;
340  if (m > minZmass_ && m < maxZmass_)
341  masscutAccept = true;
342  if (iso1 < isocut_ && iso2 < isocut_)
343  isocutAccept = true;
344 
345  if (ptcutAccept)
346  ZMuMu_ptcut_counter++;
347  if (etacutAccept)
348  ZMuMu_etacut_counter++;
349  if (masscutAccept)
350  ZMuMu_masscut_counter++;
351  if (isocutAccept)
352  ZMuMu_isocut_counter++;
353 
354  // check sequencial cuts
355 
356  if (ptcutAccept && etacutAccept) {
357  ZMuMu_ptetacut_counter++;
358  if (masscutAccept) {
359  ZMuMu_ptetamasscut_counter++;
360  if (isocutAccept) {
361  ZMuMu_passed++;
362  }
363  }
364  }
365 
366  if (ptcutAccept && etacutAccept && masscutAccept && isocutAccept) {
367  ZMuMu_allcut_counter++;
368  h_zMuMu_mass_->Fill(m);
369 
370  // check the cynematics to fill correct histograms
371  for (int j = 0; j < numberOfIntervals; j++) {
372  bool statusBinEta = false;
373  bool statusBinPhi = false;
374  bool statusBinPt = false;
375  double range0 = etamin + j * binEta;
376  double range1 = range0 + binEta;
377  double range0phi = phimin + j * binPhi;
378  double range1phi = range0phi + binPhi;
379  double range0pt = ptmin + j * binPt;
380  double range1pt = range0pt + binPt;
381  // eta histograms
382  if (lep1->eta() >= range0 && lep1->eta() < range1) {
383  hmumu_eta[j]->Fill(m);
384  statusBinEta = true;
385  }
386  if (lep2->eta() >= range0 && lep2->eta() < range1 && !statusBinEta) {
387  hmumu_eta[j]->Fill(m); // If eta1 is in the same bin of eta2 fill just once
388  }
389  // phi histograms
390  if (lep1->phi() >= range0phi && lep1->phi() < range1phi) {
391  hmumu_phi[j]->Fill(m);
392  statusBinPhi = true;
393  }
394  if (lep2->phi() >= range0phi && lep2->phi() < range1phi && !statusBinPhi) {
395  hmumu_phi[j]->Fill(m); // If phi1 is in the same bin of phi2 fill just once
396  }
397  // pt histograms
398  if (lep1->pt() >= range0pt && lep1->pt() < range1pt) {
399  hmumu_pt[j]->Fill(m);
400  statusBinPt = true;
401  }
402  if (lep2->pt() >= range0pt && lep2->pt() < range1pt && !statusBinPt) {
403  hmumu_pt[j]->Fill(m); // If pt1 is in the same bin of pt2 fill just once
404  }
405  }
406 
407  CandMatchMap::const_iterator m0 = zMuMuMap->find(CandRef);
408  if (m0 != zMuMuMap->end()) { // the Z is matched to MC thruth
409  h_zMuMuMatched_mass_->Fill(m);
410  }
411  }
412  }
413  }
414 
415  h_zMuMu_numberOfCand->Fill(nZMuMu); // number of Z cand found per event
416  h_zMuMu_numberOfCand_passed->Fill(ZMuMu_allcut_counter); // number of Z cand after all cuts found per event
417  h_zMuMu_numberOfCand_ptpassed->Fill(ZMuMu_ptcut_counter); // number of Z cand afer pt cut found per event
418  h_zMuMu_numberOfCand_etapassed->Fill(ZMuMu_etacut_counter); // number of Z cand afer eta cut found per event
419  h_zMuMu_numberOfCand_masspassed->Fill(ZMuMu_masscut_counter); // number of Z cand afer mass cut found per event
420  h_zMuMu_numberOfCand_isopassed->Fill(ZMuMu_isocut_counter); // number of Z cand afer iso cut found per event
421  h_zMuMu_numberOfCand_ptetapassed->Fill(ZMuMu_ptetacut_counter); // number of Z cand afer pt&eta cut found per event
423  ZMuMu_ptetamasscut_counter); // number of Z cand afer pt&eta&mass cut found per event
424 
425  //ZmuSingleStandAlone (check MuStandalone if MuMu has not been selected by cuts)
426  // cout << "ZMuMuanalyzer : n of zMuMu " << nZMuMu << " passed " << ZMuMu_passed << " n. of zStaMu " << nZStandAloneMu << endl;
427 
428  if (ZMuMu_passed == 0 && nZStandAloneMu > 0) {
429  // unsigned int index = 1000;
430  for (unsigned int j = 0; j < nZStandAloneMu; j++) {
431  const Candidate& zsmCand = (*zMuStandAlone)[j];
432  bool skipZ = false;
433  for (unsigned int i = 0; i < nZMuMu; i++) { // chek if the ZMuSTandalone is contained in a ZMuMu
434  const Candidate& zmmCand = (*zMuMu)[i]; // if yes .. the event has to be skipped
435  if (isContained(zmmCand, zsmCand))
436  skipZ = true;
437  }
438  if (!skipZ) { // ZSMuSTandalone not contained in a ZMuMu
439  ZMuStandalone_notcontained++;
440  CandidateRef CandRef(zMuStandAlone, j);
441  CandidateRef lep1 = zsmCand.daughter(0)->masterClone().castTo<CandidateRef>();
442  CandidateRef lep2 = zsmCand.daughter(1)->masterClone().castTo<CandidateRef>();
443 
444  ProductID id1 = lep1.id();
445  ProductID id2 = lep2.id();
446  double iso1 = -1;
447  double iso2 = -1;
448 
449  if (id1 == muIsoId)
450  iso1 = muIso->value(lep1.key());
451  else if (id1 == standAloneIsoId)
452  iso1 = standAloneIso->value(lep1.key());
453 
454  if (id2 == muIsoId)
455  iso2 = muIso->value(lep2.key());
456  else if (id2 == standAloneIsoId)
457  iso2 = standAloneIso->value(lep2.key());
458 
459  double ms = zsmCand.mass();
460  if (lep1->pt() > ptSTAcut_ && lep2->pt() > ptSTAcut_ && fabs(lep1->eta()) < etacut_ &&
461  fabs(lep2->eta()) < etacut_ && ms > minZmass_ && ms < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) {
462  h_zMuSingleStandAlone_mass_->Fill(ms);
463  ZMuStandalone_passed++;
464  // check the cynematics to fill correct histograms
465  for (int j = 0; j < numberOfIntervals; j++) {
466  double range0 = etamin + j * binEta;
467  double range1 = range0 + binEta;
468  double range0phi = phimin + j * binPhi;
469  double range1phi = range0phi + binPhi;
470  double range0pt = ptmin + j * binPt;
471  double range1pt = range0pt + binPt;
472 
473  // check which muon is a standalone (standalone means that there is a reference missing.)
474  if ((lep1->get<TrackRef, reco::StandAloneMuonTag>()).isNull()) {
475  if (lep1->eta() >= range0 && lep1->eta() < range1)
476  hmusta_eta[j]->Fill(ms);
477  if (lep1->phi() >= range0phi && lep1->phi() < range1phi)
478  hmusta_phi[j]->Fill(ms);
479  if (lep1->pt() >= range0pt && lep1->pt() < range1pt)
480  hmusta_pt[j]->Fill(ms);
481  }
482  if ((lep2->get<TrackRef, reco::StandAloneMuonTag>()).isNull()) {
483  if (lep2->eta() >= range0 && lep2->eta() < range1)
484  hmusta_eta[j]->Fill(ms);
485  if (lep2->phi() >= range0phi && lep2->phi() < range1phi)
486  hmusta_phi[j]->Fill(ms);
487  if (lep2->pt() >= range0pt && lep2->pt() < range1pt)
488  hmusta_pt[j]->Fill(ms);
489  }
490  }
491  CandMatchMap::const_iterator m0 = zMuStandAloneMap->find(CandRef);
492  if (m0 != zMuStandAloneMap->end()) {
493  ZMuStandalone_MCmatched_passed++;
495  }
496  }
497  }
498  }
499  h_zMuSta_numberOfCand->Fill(
500  nZStandAloneMu); // number of ZMuStandalone cand found per event (no higher priority Z selected)
501  h_zMuSta_numberOfCand_notcontained->Fill(ZMuStandalone_notcontained);
503  ZMuStandalone_passed); // number of ZMuSTa cand after all cuts found per event (no higher prioriy Z selected)
505  ZMuStandalone_MCmatched_passed); // number of ZMuSTa MC matched cand after all cuts found per event (no higher prioriy Z selected)
506  }
507 
508  //ZmuSingleTRack (check MuTrack if MuMu has not been selected)
509  if (ZMuMu_passed == 0 && ZMuStandalone_passed == 0 && nZTrackMu > 0) {
510  for (unsigned int j = 0; j < nZTrackMu; j++) {
511  const Candidate& ztmCand = (*zMuTrack)[j];
512  bool skipZ = false;
513  for (unsigned int i = 0; i < nZMuMu; i++) { // chek if the ZMuTrack is contained in a ZMuMu
514  const Candidate& zmmCand = (*zMuMu)[i]; // if yes .. the event has to be skipped
515  if (isContained(zmmCand, ztmCand))
516  skipZ = true;
517  }
518  if (!skipZ) {
519  ZMuTrack_notcontained++;
520  CandidateRef CandRef(zMuTrack, j);
521  CandidateRef lep1 = ztmCand.daughter(0)->masterClone().castTo<CandidateRef>();
522  CandidateRef lep2 = ztmCand.daughter(1)->masterClone().castTo<CandidateRef>();
523 
524  ProductID id1 = lep1.id();
525  ProductID id2 = lep2.id();
526  double iso1 = -1;
527  double iso2 = -1;
528 
529  if (id1 == muIsoId)
530  iso1 = muIso->value(lep1.key());
531  else if (id1 == trackIsoId)
532  iso1 = trackIso->value(lep1.key());
533 
534  if (id2 == muIsoId)
535  iso2 = muIso->value(lep2.key());
536  else if (id2 == trackIsoId)
537  iso2 = trackIso->value(lep2.key());
538 
539  double mt = ztmCand.mass();
540  if (lep1->pt() > ptcut_ && lep2->pt() > ptcut_ && fabs(lep1->eta()) < etacut_ && fabs(lep2->eta()) < etacut_ &&
541  mt > minZmass_ && mt < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) {
542  h_zMuSingleTrack_mass_->Fill(mt);
543  ZMuTrack_passed++;
544 
545  // check the cynematics to fill correct histograms
546  for (int j = 0; j < numberOfIntervals; j++) {
547  double range0 = etamin + j * binEta;
548  double range1 = range0 + binEta;
549  double range0phi = phimin + j * binPhi;
550  double range1phi = range0phi + binPhi;
551  double range0pt = ptmin + j * binPt;
552  double range1pt = range0pt + binPt;
553 
554  // check which muon is a track only (track only means that there is a reference missing.)
555  if ((lep1->get<TrackRef, reco::StandAloneMuonTag>()).isNull()) {
556  if (lep1->eta() >= range0 && lep1->eta() < range1)
557  hmutrack_eta[j]->Fill(mt);
558  if (lep1->phi() >= range0phi && lep1->phi() < range1phi)
559  hmutrack_phi[j]->Fill(mt);
560  if (lep1->pt() >= range0pt && lep1->pt() < range1pt)
561  hmutrack_pt[j]->Fill(mt);
562  }
563  if ((lep2->get<TrackRef, reco::StandAloneMuonTag>()).isNull()) {
564  if (lep2->eta() >= range0 && lep2->eta() < range1)
565  hmutrack_eta[j]->Fill(mt);
566  if (lep2->phi() >= range0phi && lep2->phi() < range1phi)
567  hmutrack_phi[j]->Fill(mt);
568  if (lep2->pt() >= range0pt && lep2->pt() < range1pt)
569  hmutrack_pt[j]->Fill(mt);
570  }
571  }
572  CandMatchMap::const_iterator m0 = zMuTrackMap->find(CandRef);
573  if (m0 != zMuTrackMap->end()) {
574  ZMuTrack_MCmatched_passed++;
576  }
577  }
578  }
579  }
581  nZTrackMu); // number of ZMuTrack cand found per event (no higher priority Z selected)
583  ZMuTrack_notcontained); // number of ZMuTrack cand not cntained in ZMuMu (no higher priority Z selected)
584 
586  ZMuTrack_passed); // number of ZMuTrack cand after all cuts found per event (no higher priority Z selected)
587 
588  h_zMuTrack_MCmatched_numberOfCand_passed->Fill(ZMuTrack_MCmatched_passed);
589  }
590 }
const_iterator end() const
last iterator over the map (read only)
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
const_iterator find(const key_type &k) const
find element with specified reference key
size_type size() const
Definition: OwnVector.h:300
stand alone muon component tag
Definition: RecoCandidate.h:77
key_type key() const
Accessor for product key.
Definition: Ref.h:250
EDGetTokenT< CandMatchMap > zMuMuMapToken_
ProductID id() const
Accessor for product ID.
Definition: Ref.h:244
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
EDGetTokenT< CandidateCollection > zMuMuToken_
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
bool isContained(const Candidate &, const Candidate &)
EDGetTokenT< IsolationCollection > trackIsoToken_
virtual const CandidateBaseRef & masterClone() const =0
zMuMu
zMuMu vector of PSet is common to all categories except zMuTrk category
virtual double mass() const =0
mass
REF castTo() const
Definition: RefToBase.h:257
EDGetTokenT< CandMatchMap > zMuStandAloneMapToken_
susybsm::MuonSegment ms
Definition: classes.h:31
EDGetTokenT< CandidateCollection > zMuStandAloneToken_
lep1
print &#39;MRbb(1b)&#39;,event.mr_bb
ProductIndex id() const
Definition: ProductID.h:35
EDGetTokenT< IsolationCollection > standAloneIsoToken_
EDGetTokenT< CandMatchMap > zMuTrackMapToken_
EDGetTokenT< CandidateCollection > zMuTrackToken_
EDGetTokenT< IsolationCollection > muIsoToken_
void ZMuMuAnalyzer_cynematics::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 690 of file ZMuMuAnalyzer_cynematics.cc.

References gather_cfg::cout, DEFINE_FWK_MODULE, h_zMuMu_mass_, h_zMuMu_numberOfCand, h_zMuMu_numberOfCand_etapassed, h_zMuMu_numberOfCand_isopassed, h_zMuMu_numberOfCand_masspassed, h_zMuMu_numberOfCand_passed, h_zMuMu_numberOfCand_ptetamasspassed, h_zMuMu_numberOfCand_ptetapassed, h_zMuMu_numberOfCand_ptpassed, h_zMuMuMatched_mass_, h_zMuSingleStandAlone_mass_, h_zMuSingleStandAloneMatched_mass_, h_zMuSingleStandAloneOverlap_mass_, h_zMuSingleStandAloneOverlapMatched_mass_, h_zMuSingleTrack_mass_, h_zMuSingleTrackMatched_mass_, h_zMuSta_MCmatched_numberOfCand_passed, h_zMuSta_numberOfCand, h_zMuSta_numberOfCand_notcontained, h_zMuSta_numberOfCand_passed, h_zMuTrack_MCmatched_numberOfCand_passed, h_zMuTrack_numberOfCand, h_zMuTrack_numberOfCand_notcontained, and h_zMuTrack_numberOfCand_passed.

690  {
691  // candidate analysis
692  // ZMuMu
693  double Nzmmc = h_zMuMu_numberOfCand->GetEntries();
694  double Nzmmc_0Z = h_zMuMu_numberOfCand->GetBinContent(1);
695  double Nzmmc_1Z = h_zMuMu_numberOfCand->GetBinContent(2);
696  double Nzmmc_moreZ = Nzmmc - Nzmmc_0Z - Nzmmc_1Z;
697  double Nzmmc_passed_0Z = h_zMuMu_numberOfCand_passed->GetBinContent(1);
698  double Nzmmc_passed_1Z = h_zMuMu_numberOfCand_passed->GetBinContent(2);
699  double Nzmmc_passed_moreZ = Nzmmc - Nzmmc_passed_0Z - Nzmmc_passed_1Z;
700  double Nzmmc_ptpassed_0Z = h_zMuMu_numberOfCand_ptpassed->GetBinContent(1);
701  double Nzmmc_ptpassed_1Z = h_zMuMu_numberOfCand_ptpassed->GetBinContent(2);
702  double Nzmmc_etapassed_0Z = h_zMuMu_numberOfCand_etapassed->GetBinContent(1);
703  double Nzmmc_etapassed_1Z = h_zMuMu_numberOfCand_etapassed->GetBinContent(2);
704  double Nzmmc_masspassed_0Z = h_zMuMu_numberOfCand_masspassed->GetBinContent(1);
705  double Nzmmc_masspassed_1Z = h_zMuMu_numberOfCand_masspassed->GetBinContent(2);
706  double Nzmmc_isopassed_0Z = h_zMuMu_numberOfCand_isopassed->GetBinContent(1);
707  double Nzmmc_isopassed_1Z = h_zMuMu_numberOfCand_isopassed->GetBinContent(2);
708  double Nzmmc_ptetapassed_0Z = h_zMuMu_numberOfCand_ptetapassed->GetBinContent(1);
709  double Nzmmc_ptetapassed_1Z = h_zMuMu_numberOfCand_ptetapassed->GetBinContent(2);
710  double Nzmmc_ptetamasspassed_0Z = h_zMuMu_numberOfCand_ptetamasspassed->GetBinContent(1);
711  double Nzmmc_ptetamasspassed_1Z = h_zMuMu_numberOfCand_ptetamasspassed->GetBinContent(2);
712  double Nzmmc_ptpassed_moreZ = Nzmmc - Nzmmc_ptpassed_0Z - Nzmmc_ptpassed_1Z;
713  double Nzmmc_etapassed_moreZ = Nzmmc - Nzmmc_etapassed_0Z - Nzmmc_etapassed_1Z;
714  double Nzmmc_masspassed_moreZ = Nzmmc - Nzmmc_masspassed_0Z - Nzmmc_masspassed_1Z;
715  double Nzmmc_isopassed_moreZ = Nzmmc - Nzmmc_isopassed_0Z - Nzmmc_isopassed_1Z;
716  double Nzmmc_ptetapassed_moreZ = Nzmmc - Nzmmc_ptetapassed_0Z - Nzmmc_ptetapassed_1Z;
717  double Nzmmc_ptetamasspassed_moreZ = Nzmmc - Nzmmc_ptetamasspassed_0Z - Nzmmc_ptetamasspassed_1Z;
718  double Nzmsc = h_zMuSta_numberOfCand->GetEntries();
719  double Nzmsc_0Z = h_zMuSta_numberOfCand->GetBinContent(1);
720  double Nzmsc_1Z = h_zMuSta_numberOfCand->GetBinContent(2);
721  double Nzmsc_moreZ = Nzmsc - Nzmsc_0Z - Nzmsc_1Z;
722  double Nzmsc_notcontained_0Z = h_zMuSta_numberOfCand_notcontained->GetBinContent(1);
723  double Nzmsc_notcontained_1Z = h_zMuSta_numberOfCand_notcontained->GetBinContent(2);
724  double Nzmsc_notcontained_moreZ = Nzmsc - Nzmsc_notcontained_0Z - Nzmsc_notcontained_1Z;
725  double Nzmsc_passed_0Z = h_zMuSta_numberOfCand_passed->GetBinContent(1);
726  double Nzmsc_passed_1Z = h_zMuSta_numberOfCand_passed->GetBinContent(2);
727  double Nzmsc_passed_moreZ = Nzmsc - Nzmsc_passed_0Z - Nzmsc_passed_1Z;
728  double Nzmsc_MCmatched_passed_0Z = h_zMuSta_MCmatched_numberOfCand_passed->GetBinContent(1);
729  double Nzmsc_MCmatched_passed_1Z = h_zMuSta_MCmatched_numberOfCand_passed->GetBinContent(2);
730  double Nzmsc_MCmatched_passed_moreZ = Nzmsc - Nzmsc_MCmatched_passed_0Z - Nzmsc_MCmatched_passed_1Z;
731  double Nzmtc = h_zMuTrack_numberOfCand->GetEntries();
732  double Nzmtc_0Z = h_zMuTrack_numberOfCand->GetBinContent(1);
733  double Nzmtc_1Z = h_zMuTrack_numberOfCand->GetBinContent(2);
734  double Nzmtc_moreZ = Nzmtc - Nzmtc_0Z - Nzmtc_1Z;
735  double Nzmtc_notcontained_0Z = h_zMuTrack_numberOfCand_notcontained->GetBinContent(1);
736  double Nzmtc_notcontained_1Z = h_zMuTrack_numberOfCand_notcontained->GetBinContent(2);
737  double Nzmtc_notcontained_moreZ = Nzmtc - Nzmtc_notcontained_0Z - Nzmtc_notcontained_1Z;
738  double Nzmtc_passed_0Z = h_zMuTrack_numberOfCand_passed->GetBinContent(1);
739  double Nzmtc_passed_1Z = h_zMuTrack_numberOfCand_passed->GetBinContent(2);
740  double Nzmtc_passed_moreZ = Nzmtc - Nzmtc_passed_0Z - Nzmtc_passed_1Z;
741  double Nzmtc_MCmatched_passed_0Z = h_zMuTrack_MCmatched_numberOfCand_passed->GetBinContent(1);
742  double Nzmtc_MCmatched_passed_1Z = h_zMuTrack_MCmatched_numberOfCand_passed->GetBinContent(2);
743  double Nzmtc_MCmatched_passed_moreZ = Nzmtc - Nzmtc_MCmatched_passed_0Z - Nzmtc_MCmatched_passed_1Z;
744 
745  cout << "--------------- Statistics ----------------------------------------------------------" << endl;
746  cout << "n of ZMuMu entries ...................................................... " << Nzmmc << endl;
747  cout << "n of ZMuMu events with 0 cand ............................................. " << Nzmmc_0Z << endl;
748  cout << "n of ZMuMu events with 1 cand ............................................. " << Nzmmc_1Z << endl;
749  cout << "n of ZMuMu events with 2 or more cand ..................................... " << Nzmmc_moreZ << endl << endl;
750 
751  cout << "n of ZMuMu events not selected by cuts .................................... " << Nzmmc_passed_0Z << endl;
752  cout << "n of ZMuMu events with 1 cand selected by cuts ............................ " << Nzmmc_passed_1Z << endl;
753  cout << "n of ZMuMu events with 2 or more cand elected by cuts ..................... " << Nzmmc_passed_moreZ << endl
754  << endl;
755 
756  cout << "n of ZMuMu events not selected by pt cut .................................. " << Nzmmc_ptpassed_0Z << endl;
757  cout << "n of ZMuMu events with 1 cand selected by pt cut .......................... " << Nzmmc_ptpassed_1Z << endl;
758  cout << "n of ZMuMu events with 2 or more cand elected by pt cut ................... " << Nzmmc_ptpassed_moreZ << endl
759  << endl;
760 
761  cout << "n of ZMuMu events not selected by eta cut ................................. " << Nzmmc_etapassed_0Z << endl;
762  cout << "n of ZMuMu events with 1 cand selected by eta cut ......................... " << Nzmmc_etapassed_1Z << endl;
763  cout << "n of ZMuMu events with 2 or more cand elected by eta cut .................. " << Nzmmc_etapassed_moreZ
764  << endl
765  << endl;
766 
767  cout << "n of ZMuMu events not selected by mass cut ................................ " << Nzmmc_masspassed_0Z << endl;
768  cout << "n of ZMuMu events with 1 cand selected by mass cut ........................ " << Nzmmc_masspassed_1Z << endl;
769  cout << "n of ZMuMu events with 2 or more cand elected by mass cut ................. " << Nzmmc_masspassed_moreZ
770  << endl
771  << endl;
772 
773  cout << "n of ZMuMu events not selected by iso cut ................................. " << Nzmmc_isopassed_0Z << endl;
774  cout << "n of ZMuMu events with 1 cand selected iso cut ............................ " << Nzmmc_isopassed_1Z << endl;
775  cout << "n of ZMuMu events with 2 or more cand elected iso cut ..................... " << Nzmmc_isopassed_moreZ
776  << endl
777  << endl;
778 
779  cout << "n of ZMuMu events not selected by pt and eta cut .......................... " << Nzmmc_ptetapassed_0Z
780  << endl;
781  cout << "n of ZMuMu events with 1 cand selected by pt and eta cut .................. " << Nzmmc_ptetapassed_1Z
782  << endl;
783  cout << "n of ZMuMu events with 2 or more cand elected by pt and eta cut ........... " << Nzmmc_ptetapassed_moreZ
784  << endl
785  << endl;
786 
787  cout << "n of ZMuMu events not selected by pt and eta and mass cut ................. " << Nzmmc_ptetamasspassed_0Z
788  << endl;
789  cout << "n of ZMuMu events with 1 cand selected by pt and eta and mass cut ......... " << Nzmmc_ptetamasspassed_1Z
790  << endl;
791  cout << "n of ZMuMu events with 2 or more cand elected by pt and eta and mass cut .. " << Nzmmc_ptetamasspassed_moreZ
792  << endl
793  << endl;
794 
795  cout << "................When No ZMuMu are selected.................................." << endl;
796  cout << "n of ZMuSta entries ....................................................... " << Nzmsc << endl;
797  cout << "n of ZMuSta events with 0 cand ............................................ " << Nzmsc_0Z << endl;
798  cout << "n of ZMuSta events with 1 cand ............................................ " << Nzmsc_1Z << endl;
799  cout << "n of ZMuSta events with 2 or more cand .................................... " << Nzmsc_moreZ << endl << endl;
800 
801  cout << "n of ZMuSta not contained events with 0 cand .............................. " << Nzmsc_notcontained_0Z
802  << endl;
803  cout << "n of ZMuSta events not contained with 1 cand .............................. " << Nzmsc_notcontained_1Z
804  << endl;
805  cout << "n of ZMuSta events no contained with 2 or more cand ....................... " << Nzmsc_notcontained_moreZ
806  << endl
807  << endl;
808 
809  cout << "n of ZMuSta cand not selectd by cuts ...................................... " << Nzmsc_passed_0Z << endl;
810  cout << "n of ZMuSta events with 1 cand selected by cuts ........................... " << Nzmsc_passed_1Z << endl;
811  cout << "n of ZMuSta events with 2 or more cand selected by cuts ................... " << Nzmsc_passed_moreZ << endl
812  << endl;
813 
814  cout << "n of ZMuSta MCmatched cand not selectd by cuts ............................ " << Nzmsc_MCmatched_passed_0Z
815  << endl;
816  cout << "n of ZMuSta MCmatched events with 1 cand selected by cuts ................. " << Nzmsc_MCmatched_passed_1Z
817  << endl;
818  cout << "n of ZMuSta MCmatched events with 2 or more cand selected by cuts ......... " << Nzmsc_MCmatched_passed_moreZ
819  << endl
820  << endl;
821 
822  cout << "...............When no ZMuMu and ZMuSta are selcted........................." << endl;
823  cout << "n of ZMuTrack entries ................................................... " << Nzmtc << endl;
824  cout << "n of ZMuTrack events with 0 cand ..........................................." << Nzmtc_0Z << endl;
825  cout << "n of ZMuTrack events with 1 cand ..........................................." << Nzmtc_1Z << endl;
826  cout << "n of ZMuTrack events with 2 or more cand ..................................." << Nzmtc_moreZ << endl << endl;
827 
828  cout << "n of ZMuTrack not contained events with 0 cand ............................ " << Nzmtc_notcontained_0Z
829  << endl;
830  cout << "n of ZMuTrack events not contained with 1 cand ............................ " << Nzmtc_notcontained_1Z
831  << endl;
832  cout << "n of ZMuTrack events no contained with 2 or more cand ..................... " << Nzmtc_notcontained_moreZ
833  << endl
834  << endl;
835 
836  cout << "n of ZMuTrack cand not selectd by cuts ....................................." << Nzmtc_passed_0Z << endl;
837  cout << "n of ZMuTrack events with 1 cand selected by cuts .........................." << Nzmtc_passed_1Z << endl;
838  cout << "n of ZMuTrack events with 2 or more cand selected by cuts .................." << Nzmtc_passed_moreZ << endl
839  << endl;
840 
841  cout << "n of ZMuTrack MCmatched cand not selectd by cuts .......................... " << Nzmtc_MCmatched_passed_0Z
842  << endl;
843  cout << "n of ZMuTrcak MCmatched events with 1 cand selected by cuts ............... " << Nzmtc_MCmatched_passed_1Z
844  << endl;
845  cout << "n of ZMuTrack MCmatched events with 2 or more cand selected by cuts ....... " << Nzmtc_MCmatched_passed_moreZ
846  << endl;
847 
848  cout << "------------------------------------------------------------------------------------------" << endl;
849 
850  double Nzmm = h_zMuMu_mass_->GetEntries();
851  double Nzsm = h_zMuSingleStandAlone_mass_->GetEntries();
852  double Nzsnom = h_zMuSingleStandAloneOverlap_mass_->GetEntries();
853  double Nztm = h_zMuSingleTrack_mass_->GetEntries();
854 
855  double NzmmMatch = h_zMuMuMatched_mass_->GetEntries();
856  double NzsmMatch = h_zMuSingleStandAloneMatched_mass_->GetEntries();
857  double NzsnomMatch = h_zMuSingleStandAloneOverlapMatched_mass_->GetEntries();
858  double NztmMatch = h_zMuSingleTrackMatched_mass_->GetEntries();
859 
860  cout << "-- N SingleTrackMu = " << Nztm << endl;
861  cout << "-----N SinglStandAloneMu = " << Nzsm << endl;
862  cout << "-----N SingleStandAloneOverlapMu = " << Nzsnom << endl;
863  cout << "------- N MuMu = " << Nzmm << endl;
864 
865  cout << "-- N SingleTrackMuMatched = " << NztmMatch << endl;
866  cout << "-----N SinglStandAloneMuMatched = " << NzsmMatch << endl;
867  cout << "-----N SingleStandAloneOverlapMuMatched = " << NzsnomMatch << endl;
868  cout << "------- N MuMu Matched = " << NzmmMatch << endl;
869 }
bool ZMuMuAnalyzer_cynematics::isContained ( const Candidate obj1,
const Candidate obj2 
)
private

Definition at line 592 of file ZMuMuAnalyzer_cynematics.cc.

References gather_cfg::cout, reco::Candidate::daughter(), RemoveAddSevLevel::flag, reco::Candidate::get(), mps_fire::i, edm::Ref< C, T, F >::id(), dqmiolumiharvest::j, crabWrapper::key, edm::Ref< C, T, F >::key(), muonTagProbeFilters_cff::matched, and reco::Candidate::numberOfDaughters().

Referenced by analyze().

592  {
593  // check if a candidate obj2 is different from obj1 (assume that obj1 is a ZMuMu and obj2 is any other type)
594  // (for example a Z can be done with two global muons, or with a global muon plus a standalone muon.
595  // if the standalone muon is part of the second global muon in fact this is the same Z)
596 
597  const int maxd = 10;
598  const Candidate* daughters1[maxd];
599  const Candidate* daughters2[maxd];
600  TrackRef trackerTrack1[maxd];
601  TrackRef stAloneTrack1[maxd];
602  TrackRef globalTrack1[maxd];
603  TrackRef trackerTrack2[maxd];
604  TrackRef stAloneTrack2[maxd];
605  TrackRef globalTrack2[maxd];
606  bool flag;
607  unsigned int nd1 = obj1.numberOfDaughters();
608  unsigned int nd2 = obj2.numberOfDaughters();
609  unsigned int matched = 0;
610 
611  for (unsigned int i = 0; i < nd1; ++i) {
612  daughters1[i] = obj1.daughter(i);
613  trackerTrack1[i] = daughters1[i]->get<TrackRef>();
614  stAloneTrack1[i] = daughters1[i]->get<TrackRef, reco::StandAloneMuonTag>();
615  globalTrack1[i] = daughters1[i]->get<TrackRef, reco::CombinedMuonTag>();
616 
617  /*********************************************** just used for debug ********************
618  if (trackerTrack1[i].isNull())
619  cout << "in ZMuMu daughter " << i << " tracker ref non found " << endl;
620  else
621  cout << "in ZMuMu daughter " << i << " tracker ref FOUND"
622  << " id: " << trackerTrack1[i].id() << ", index: " << trackerTrack1[i].key()
623  << endl;
624  if (stAloneTrack1[i].isNull())
625  cout << "in ZMuMu daughter " << i << " stalone ref non found " << endl;
626  else
627  cout << "in ZMuMu daughter " << i << " stalone ref FOUND"
628  << " id: " << stAloneTrack1[i].id() << ", index: " << stAloneTrack1[i].key()
629  << endl;
630 
631  if (globalTrack1[i].isNull())
632  cout << "in ZMuMu daughter " << i << " global ref non found " << endl;
633  else
634  cout << "in ZMuMu daughter " << i << " global ref FOUND"
635  << " id: " << globalTrack1[i].id() << ", index: " << globalTrack1[i].key()
636  << endl;
637  */
638  }
639  for (unsigned int i = 0; i < nd2; ++i) {
640  daughters2[i] = obj2.daughter(i);
641  trackerTrack2[i] = daughters2[i]->get<TrackRef>();
642  stAloneTrack2[i] = daughters2[i]->get<TrackRef, reco::StandAloneMuonTag>();
643  globalTrack2[i] = daughters2[i]->get<TrackRef, reco::CombinedMuonTag>();
644 
645  /******************************************** just used for debug ************
646  if (trackerTrack2[i].isNull())
647  cout << "in ZMuSta daughter " << i << " tracker ref non found " << endl;
648  else
649  cout << "in ZMuSta daughter " << i << " tracker ref FOUND"
650  << " id: " << trackerTrack2[i].id() << ", index: " << trackerTrack2[i].key()
651  << endl;
652  if (stAloneTrack2[i].isNull())
653  cout << "in ZMuSta daughter " << i << " standalone ref non found " << endl;
654  else
655  cout << "in ZMuSta daughter " << i << " standalone ref FOUND"
656  << " id: " << stAloneTrack2[i].id() << ", index: " << stAloneTrack2[i].key()
657  << endl;
658 
659  if (globalTrack2[i].isNull())
660  cout << "in ZMuSta daughter " << i << " global ref non found " << endl;
661  else
662  cout << "in ZMuSta daughter " << i << " global ref FOUND"
663  << " id: " << globalTrack2[i].id() << ", index: " << globalTrack2[i].key()
664  << endl;
665 
666  */
667  }
668  if (nd1 != nd2) {
669  cout << "ZMuMuAnalyzer::isContained WARNING n.of daughters different " << nd1 << " " << nd2 << endl;
670  } else {
671  for (unsigned int i = 0; i < nd1; i++) {
672  flag = false;
673  for (unsigned int j = 0; j < nd2;
674  j++) { // if the obj2 is a standalone the trackref is alwais in the trackerTRack position
675  if (((trackerTrack2[i].id() == trackerTrack1[j].id()) && (trackerTrack2[i].key() == trackerTrack1[j].key())) ||
676  ((trackerTrack2[i].id() == stAloneTrack1[j].id()) && (trackerTrack2[i].key() == stAloneTrack1[j].key()))) {
677  flag = true;
678  }
679  }
680  if (flag)
681  matched++;
682  }
683  }
684  if (matched == nd1) // return true if all the childrens of the ZMuMu have a children matched in ZMuXX
685  return true;
686  else
687  return false;
688 }
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
stand alone muon component tag
Definition: RecoCandidate.h:77
key_type key() const
Accessor for product key.
Definition: Ref.h:250
ProductID id() const
Accessor for product ID.
Definition: Ref.h:244
conbined muon component tag
Definition: RecoCandidate.h:79
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
T get() const
get a component
Definition: Candidate.h:222
virtual size_type numberOfDaughters() const =0
number of daughters

Member Data Documentation

double ZMuMuAnalyzer_cynematics::binEta
private

Definition at line 82 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::binPhi
private

Definition at line 82 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::binPt
private

Definition at line 82 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::etacut_
private

Definition at line 68 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::etamax
private

Definition at line 80 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::etamin
private

Definition at line 80 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

TH2D* ZMuMuAnalyzer_cynematics::h_OneSta_mass
private

Definition at line 78 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D* ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand_etapassed
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand_isopassed
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand_masspassed
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand_passed
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand_ptetamasspassed
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand_ptetapassed
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMu_numberOfCand_ptpassed
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuMuMatched_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSingleStandAlone_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSingleStandAloneMatched_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSingleStandAloneOverlap_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSingleStandAloneOverlapMatched_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSingleTrack_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSingleTrackMatched_mass_
private

Definition at line 69 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSta_MCmatched_numberOfCand_passed
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D* ZMuMuAnalyzer_cynematics::h_zMuSta_numberOfCand
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSta_numberOfCand_notcontained
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuSta_numberOfCand_passed
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuTrack_MCmatched_numberOfCand_passed
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuTrack_numberOfCand
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuTrack_numberOfCand_notcontained
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

TH1D * ZMuMuAnalyzer_cynematics::h_zMuTrack_numberOfCand_passed
private

Definition at line 75 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), endJob(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmumu_eta
private

Definition at line 83 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmumu_phi
private

Definition at line 84 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmumu_pt
private

Definition at line 85 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmusta_eta
private

Definition at line 83 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmusta_phi
private

Definition at line 84 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmusta_pt
private

Definition at line 85 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmutrack_eta
private

Definition at line 83 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmutrack_phi
private

Definition at line 84 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

vector<TH1D*> ZMuMuAnalyzer_cynematics::hmutrack_pt
private

Definition at line 85 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::isocut_
private

Definition at line 68 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

double ZMuMuAnalyzer_cynematics::maxZmass_
private

Definition at line 68 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

double ZMuMuAnalyzer_cynematics::minZmass_
private

Definition at line 68 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<IsolationCollection> ZMuMuAnalyzer_cynematics::muIsoToken_
private

Definition at line 62 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

int ZMuMuAnalyzer_cynematics::numberOfIntervals
private

Definition at line 81 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

OverlapChecker ZMuMuAnalyzer_cynematics::overlap_
private

Definition at line 58 of file ZMuMuAnalyzer_cynematics.cc.

double ZMuMuAnalyzer_cynematics::phimax
private

Definition at line 80 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::phimin
private

Definition at line 80 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::ptcut_
private

Definition at line 68 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::ptmax
private

Definition at line 80 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::ptmin
private

Definition at line 80 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze(), and ZMuMuAnalyzer_cynematics().

double ZMuMuAnalyzer_cynematics::ptSTAcut_
private

Definition at line 68 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<IsolationCollection> ZMuMuAnalyzer_cynematics::standAloneIsoToken_
private

Definition at line 64 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<IsolationCollection> ZMuMuAnalyzer_cynematics::trackIsoToken_
private

Definition at line 63 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<CandMatchMap> ZMuMuAnalyzer_cynematics::zMuMuMapToken_
private

Definition at line 65 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<CandidateCollection> ZMuMuAnalyzer_cynematics::zMuMuToken_
private

Definition at line 59 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<CandMatchMap> ZMuMuAnalyzer_cynematics::zMuStandAloneMapToken_
private

Definition at line 67 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<CandidateCollection> ZMuMuAnalyzer_cynematics::zMuStandAloneToken_
private

Definition at line 61 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<CandMatchMap> ZMuMuAnalyzer_cynematics::zMuTrackMapToken_
private

Definition at line 66 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().

EDGetTokenT<CandidateCollection> ZMuMuAnalyzer_cynematics::zMuTrackToken_
private

Definition at line 60 of file ZMuMuAnalyzer_cynematics.cc.

Referenced by analyze().